Asp.net-Mvc
ASP.NET MVC 成員資格 - 使用者經常被註銷 - 不知道為什麼
我有一個 ASP.NET MVC 4 Web 應用程序。在本地執行,它工作正常,但在網路主機(使用共享主機)上,登錄的使用者經常被重定向回首頁而註銷。在大多數情況下,使用者在執行一些操作後就會退出。
網路主機建議我的應用程序可能使用了太多記憶體,但我使用了一個程序來分析記憶體使用情況,並且我確認它沒有使用過多的記憶體 - 實際上應用程序似乎使用了分配的一小部分網路主機上的記憶體。
這是使用的登錄方法:
public static Boolean Login(string Username, string Password, bool persistCookie = false) { bool success = Membership.ValidateUser(Username, Password); if (success) { FormsAuthentication.SetAuthCookie(Username, persistCookie); } return success; }在我的虛擬主機中,表單身份驗證超時設置為 60 分鐘,所以這應該不是問題,對吧?
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="60" /> </authentication>我的會話狀態超時值也設置為 60 分鐘:
<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="60">根據這裡的答案,我也添加了這一行,這似乎並沒有解決問題:
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps"></machineKey>關於問題可能是什麼以及我可以做些什麼來解決問題的任何想法?
您的會話沒有超時。IIS 正在崩潰。由於您使用的是記憶體會話,因此每次 IIS 崩潰時,您的會話都會消失並且使用者會被註銷。您應該檢查伺服器的事件視圖並查看錯誤的詳細資訊以找出錯誤是什麼。
我在 web.config 的身份驗證超時中將超時設置為 2880,並且我還在關閉 system.web 之前設置了 sessionState
<sessionState timeout="1440"></sessionState>這將使會話保持活動狀態 24 小時。