我在.NET Web應用程序中看到了一個奇怪的行爲。它很少發生,但是如果我坐在一個頁面上並繼續點擊F5,最終我將有Membership.GetUser()返回NULL,即使Request.IsAuthenticated返回true。Request.IsAuthenticated爲TRUE,但Membership.GetUser()爲NULL
if (Request.IsAuthenticated)
{
MembershipUser user = Membership.GetUser(); //user is occasionally null.
}
我的理解是,這不應該投入while循環的getUser()調用(這消除了問題,因爲發生,問題的間歇性讓我覺得這是一個錯誤,但除了GetUser()在第二次嘗試中工作),我不知道還有什麼地方可以找出造成這種情況的原因。我們在另一臺服務器上使用Web服務作爲我們的成員資格提供程序,但是我將其作爲超時問題予以解決,這會返回一個不同的錯誤。
我還沒有消除webservice作爲問題,它可能會返回「null」每50個左右命中,但我確實消除了與web服務的連接問題。如果IsAuthenticated和Membership是不相關的,那麼我認爲這回答了我的問題。謝謝。 – ideonexus