2012-12-06 22 views
1

我的MVC應用程序正在Windows身份驗證下運行。TempData + Windows身份驗證=無超時。可能嗎?

我已經在我的應用程序的各個地方使用了TempData。問題是,他們通過會話超時清除。但是,Windows登錄仍在運行。我如何設置他們保持完好,直到用戶註銷他的Windows登錄。我的意思是,不應該有任何超時。可能嗎?

回答

0

據我瞭解,TempData只會持續它的值直到下一個動作,這就是爲什麼它被稱爲「Temp」數據。會話將只能維護當前用戶會話的數據。

如果你不想超時(這聽起來對我來說真的很奇怪,而且我可以聞到錯誤的代碼練習),然後使用緩存或將數據保存到數據庫。您可以隨時保留數據。

1

您可以在web配置更改會話超時值:

<sessionState mode="InProc" timeout="20"/> 

只需20分鐘更改分鐘超時值更高的值

如2天:

<sessionState mode="InProc" timeout="2880"/> 
+0

其他選項?我希望它是無限的,如果可能的話 – Nirman

+0

我認爲你可以把它設置得很高 - 例如一年 - 但它可能不是一個好主意。你可以看看使用持久性cookie而不是會話。 – iandayman

+0

不是真的,我已將它設置爲2880,並且在相當短的時間內仍然超時。 – Nirman