2015-03-24 3 views
0

В Windows Server 2012 IIS 8 - После разработки настроек web.config, чтобы получить дочернее веб-приложение ASP.Net 4.5 для запуска в пределах родительского ASP.Net 3.5, у них теперь есть тот же идентификатор сеанса и получить файлы cookie «ОК», но сеанс у ребенка не имеет ключей.Попытка доступа к родительскому ASP.Net 3.5 Сессия из дочернего веб-приложения в Asp.Net 4.5

Кажется, что сеанс не разделяется между двумя пулами приложений.

Любые идеи о том, как обойти это? BTW - довольно трудно изменить веб-приложение родительскую ... Так что пытается изменить только детское приложение

Для уточнения - ребенок веб-приложение - просто подпапку в веб-структуры родительского с:

  • отдельный IIS Application создан с пула приложений .Net 4.5
  • отдельный Web.config

ответ

0

OK После того, как рыть далее нашел, что это не представляется возможным, поскольку SessionState не совместимы между версиями, см: Migrating web farm to runtime version 4 of asp.net while maintaining session

Но мы нашли интересный обходной путь начиная с версии .Net 3.5 использует формы проверки подлинности на основе мы можем иметь «ребенок» .Net 4.5 применить то же самое, используя настройки веб-конфигурации:

< MachineKey compatibilityMode =» Framework20SP2" .../>

И получить авторизованное имя пользователя из:

HttpContext.Current.User.Identity.Name