Итак, прежде чем спросить: "Какого черта ты имеешь в виду, одно вложено в другое?" Я объясню это настолько просто, насколько смогу.
Существовало веб-приложение .NET (A). Было создано дополнительное приложение (B), которое работает с несколькими одинаковыми сборками ядра. Предыдущая консалтинговая компания каким-то образом «установила» приложение B в приложении A, чтобы B мог получить выгоду от сеанса A. Итак, как то так:
- Application A (C:\Inetpub\wwwroot\ApplicationA)
+ Application B (C:\Inetpub\wwwroot\ApplicationA\sup\ApplicationB
Предыдущая компания оставила ноль документации о том, как или почему они это сделали, но у них это сработало. Моя дилемма теперь такова: приложение А было обновлено, что сделало Б бесполезным. Я обновил B, чтобы запустить новое ядро, предоставленное A, но к тому времени, когда я закончил, другая команда уничтожила предыдущие производственные и тестовые серверы, и я не могу получить резервную копию, чтобы посмотреть, как оно было настроено.
После нескольких сует, я смог воспроизвести вышеприведенную иерархию в одном приложении и пуле IIS, разделив файл web.config для B и удалив дублирующиеся разделы - те, которые уже существовали в сети A .config. Я также выкинул все файлы из папки bin в папку B в папку bin.
Оба сайта компилируются и обслуживаются IIS, но я не могу ничего прочитать из сеанса A, используя эту структуру. Я не удивлен этим результатом, но мне нужно найти обходной путь. Короче говоря, A имеет сессионный идентификатор, сохраненный в своем сеансе, который мне нужно использовать для получения источника данных в B, из-за некоторых сумасшедших правил лицензирования, наложенных создателями A (этот sessionID должен быть передан каждой функции в их основном API для авторизация пользователя).
Любые идеи о том, почему эта функция больше не работает (при условии, что я правильно воспроизвел старую среду), или как я могу обойти ее? Переход на сервер SQL для состояния сеанса не вариант - я не могу ничего изменить в приложении A.
Я немного посмотрел на код А (столько, сколько я решаюсь с Reflector), и переменная, которую я пытаюсь извлечь из сеанса, все еще там и используется.
Любые мысли были бы великолепны!