2016-11-07 47 views
-1

我有我沒有在asp.net中編寫的服務器頁面,我已經在頁面中使用會話。例如(一個用戶登錄,並開始在頁面上工作10-15分鐘),當工作時有一些問題,我的服務器關閉,然後重新開始。現在想想我已經給了會話超時= 20,我的會話ID將如何知道這是我的服務器或它是如何工作的我問過很多人我不滿意他們的答案。請任何機構幫助我解決這個問題。會話將如何重新映射回服務器如果它重新啓動

在此先感謝..

+1

更好地添加你的代碼,這會更清晰易懂 – Choxx

+0

不,這是我的面試問題。 – hyugaazia

+0

我認爲這個問題對於Stack Overflow而言太寬泛而沒有顯示任何代碼。 – haindl

回答

1

如果你使用的是InProc會話狀態(在ASP.NET默認),你將失去在重新啓動所有會話數據。爲了防止這種情況發生,您必須在Web.Config中配置進程外會話狀態,並使用狀態服務器或SQL Server來保留會話狀態數據。

請注意,如果您選擇這樣做,則在發送到狀態服務器之前,您放入會話狀態的所有內容都必須可序列化,因爲它是序列化的。

編輯

要設置狀態服務器,微軟在TechNet站點這裏一些相當不錯的文檔:State serverSql Server。此外,搜索out of process session aspnet將爲您提供一些關於此主題的優秀博客。

請注意,如果要防止重新啓動Web服務器,則狀態服務器服務不應與Web服務器在同一臺計算機上運行。當使用Sql服務器時,這顯然不是一個問題。

+0

感謝Robba,你能否在會話中建議我一些頁面,這樣我就可以在會議上有一個清晰的想法..謝謝你回答我的問題.. – hyugaazia

相關問題