我有以下問題:重新發布ASP.NET Web應用程序導致(如預期的)會話重置在哪裏我保留其他用戶信息(訪問嘗試會導致NullReferenceException)。FormsAuthentication.RedirectToLoginPage()什麼都不做
爲了避免這種情況,我的網頁檢查這個信息存在,並在空的情況下,重定向用戶到登錄頁面(窗體身份驗證),所以我打電話:
void LogOut()
{
Session.Clear();
Session.Abandon();
User = null;
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage()
}
但有時它並不能幫助,所以我找到了一個解決辦法:
Response.Redirect(FormsAuthentication.LoginUrl);
,但它不添加RETURNURL,我希望它是(我不想手動模擬這種行爲)。
所以想弄清楚爲什麼第一種方式不能按預期工作。
謝謝你的迴應。發生了什麼(什麼不是):'RedirectToLoginPage()'什麼都不做 - 代碼執行前面,我得到NullReferenceException因爲保持會話有關當前用戶的更多信息(一些鏈接對象,例如ClientCompanyName) – abatishchev
My Session timeout set = Forms auth超時(通過web.config)。用戶將被自動重定向到通過表單auth登錄頁面,按預期工作。但我的場景是更多的開發/部署過程相關的:在發佈新版本之後,我想將其重定向到登錄頁面,並且不會得到NullReferenceException。 – abatishchev