我在我的MVC 3應用程序中使用DotNetOpenAuth的openid選擇器。每當我設置一個會話變量並且DotNetOpenAuth部分在web.config中時,我的會話變量在重定向之後不會粘住。我檢查了Session.SessionID變量,它仍然是相同的,所以我在同一個會話中(我相信),但是當我檢查會話變量後,我只是在重定向後設置它們都設置爲空。DotNetOpenAuth ASP.NET MVC 3會話問題
我還沒有看到任何其他人與此問題。我想知道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 2011-02-01 15:25:24