Совместное использование сеанса между двумя приложениями ASP.NET, где одно вложено в другое

Итак, прежде чем вы спросите: «Какого черта вы имеете в виду, одно вложено в другое?» Я объясню это как можно проще.

Веб-приложение .NET (A) существовало. Было создано дополнительное приложение (B), которое работает на нескольких одних и тех же основных сборках. Предыдущая консалтинговая компания каким-то образом «установила» приложение B в приложении A, чтобы B мог совмещать сеанс A. Итак, что-то вроде этого:

- Application A (C:\Inetpub\wwwroot\ApplicationA)
    + Application B (C:\Inetpub\wwwroot\ApplicationA\sup\ApplicationB

Предыдущая компания не оставила никакой документации о том, как и почему они это сделали, но у них это сработало. Моя дилемма теперь такова: приложение A было обновлено, что сделало B бесполезным. Я обновил B, чтобы работать с новым ядром, предоставленным A, но к тому времени, когда я закончил, другая команда уничтожила предыдущие производственный и тестовый серверы, и я не могу получить резервную копию, чтобы увидеть, как она была настроена.

После После нескольких попыток мне удалось воспроизвести указанную выше иерархию в одном приложении и пуле IIS, разделив файл web.config для B и удалив повторяющиеся разделы - те, которые уже существовали в файле web.config A. Я также сбросил все файлы из папки bin B в папку bin A.

Оба сайта компилируются и обслуживаются IIS, но я не могу ничего прочитать из сеанса A, используя эту структуру. Я не удивлен таким результатом, но мне нужно найти обходной путь. Короче говоря, A имеет идентификатор сеанса, хранящийся в его сеансе, который мне нужно использовать для получения источника данных в B из-за некоторых сумасшедших правил лицензирования, наложенных создателями A (этот идентификатор сеанса должен быть передан каждой функции в их основном API для авторизация пользователя).

Есть идеи, почему эта функция больше не работает (при условии, что я правильно воспроизвел старую среду), или как я могу это обойти? Переход на SQL-сервер для состояния сеанса не вариант - я ничего не могу изменить в приложении A.

Я немного посмотрел на код A (насколько я осмеливался с Reflector) и переменную, которую я ' m, пытающийся получить данные из сеанса, все еще существует и используется.

Любые мысли были бы замечательными!

6
задан Cᴏʀʏ 14 February 2011 в 16:51
поделиться