Я использую openid-селектор с DotNetOpenAuth в своем приложении MVC 3. Всякий раз, когда я устанавливаю переменную сеанса, а разделы DotNetOpenAuth находятся в файле web.config, мои переменные сеанса не сохраняются после перенаправления.DotNetOpenAuth ASP.NET MVC 3 Session Issue
Я проверил переменную Session.SessionID, и она по-прежнему остается такой же, поэтому я нахожусь в том же сеансе (я считаю), но когда я проверяю переменные сеанса, которые я просто установил после перенаправления, все они имеют значение null.
Я еще никого не видел с этой проблемой. Мне интересно, только DotNetOpenAuth еще не готов к MVC 3. Я также использую последнюю версию DotNetOpenAuth.
Вот соответствующие участки web.config, если это поможет:
<configSections>
<section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection" requirePermission="false" allowLocation="true"/>
</configSections>
<uri>
<idn enabled="All"/>
<iriParsing enabled="true"/>
</uri>
<system.net>
<defaultProxy enabled="true"/>
<settings>
<servicePointManager checkCertificateRevocationList="true"/>
</settings>
</system.net>
<dotNetOpenAuth>
<openid>
<relyingParty>
<security requireSsl="false"/>
<behaviors>
<add type="DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform, DotNetOpenAuth"/>
</behaviors>
</relyingParty>
</openid>
<messaging>
<untrustedWebRequest>
<whitelistHosts>
<add name="localhost"/>
</whitelistHosts>
</untrustedWebRequest>
</messaging>
<reporting enabled="true"/>
</dotNetOpenAuth>
Обновлено:
это происходит на моем сервере разработки, либо в IIS, или когда я бегу ASP. NET.
Кроме того, я попытался запустить сеанс в процессе и из процесса, используя государственный сервер, и это не повлияло.
Что касается нового сеанса, я проверил событие session_start и не вызывается. Я также проверил Session.IsNewSession, и он также вернулся к false. Итак, что-то случайно (или, может быть, не так случайно) удаляет мои переменные сеанса!
Оцените ответ, так оно происходит на моем сервере разработки, либо в IIS, либо при запуске сервера разработки ASP.NET. Не понимаю, что происходит. Я удаляю DotNetOpenAuth, все работает. я сделаю еще несколько исследований, чтобы узнать, перезапускается ли сеанс и что вызывает его. – Darye