我正在研究asp.net MVC 3應用程序。我正面臨與會話到期有關的問題。當我登錄並且網站無效10-15分鐘時,我嘗試點擊任何鏈接,它說對象引用null錯誤。我希望當會話過期時,點擊任何鏈接時,我應該重定向到登錄頁面,並顯示會話過期的錯誤消息,或彈出相同的消息。如何實現它在asp.net MVC 3會話過期錯誤在asp.net MVC 3
問候, 阿西夫·哈米德
我正在研究asp.net MVC 3應用程序。我正面臨與會話到期有關的問題。當我登錄並且網站無效10-15分鐘時,我嘗試點擊任何鏈接,它說對象引用null錯誤。我希望當會話過期時,點擊任何鏈接時,我應該重定向到登錄頁面,並顯示會話過期的錯誤消息,或彈出相同的消息。如何實現它在asp.net MVC 3會話過期錯誤在asp.net MVC 3
問候, 阿西夫·哈米德
我猜你的代碼抓住從會話狀態的東西,然後使用它,而不檢查,如果它是空第一。
我會建議看看那個代碼,並添加空檢查。如果爲空,則根據需要重定向到登錄頁面。
>>它說對象引用null錯誤。它是什麼?調試代碼,我懷疑n8wrl是正確的。同樣看看BNL的迴應,並正確設置會話/身份驗證超時。我會降低他們到1,2分鐘,看看你是否能更快地重現問題,然後理解問題,然後解決它。 – RickAndMSFT
在.net Web應用程序中通常會出現兩個超時。
第一個是會話超時。它在sessionState標記中設置。
<sessionState timeout="number of minutes" ...></sessionState>
第二個是窗體cookie超時。它在認證標籤中設置。
<authentication mode="Forms">
<forms timeout="number of minutes"/>
</authentication>
看起來您的會話在表單Cookie超時之前會超時。
最好讓會話持續比表單身份驗證Cookie多幾分鐘,這樣用戶可以在幾分鐘內重新登錄並仍然擁有會話。我遇到了問題,例如您所描述的問題,並將它們設置爲相同的值。
你是如何處理身份驗證,FormsAuthentication或自定義的? – JonoW
堆棧跟蹤和示例代碼會很有幫助。 – jrummell