2016-12-12 65 views
0

我目前在我的.net Web項目中使用InProc會話狀態模式。我想從InProc移動到SQLServer會話狀態,因爲我將使用負載平衡器。我需要遵循哪些步驟?如何將會話狀態從InProc移動到SQLServer

在我的C#代碼中,我使用下面的會話。

Session["MyValue"] = "Test" // To set 
    string value = Session["MyValue"] //To read 

那麼我需要在源代碼中做些什麼改變?在使用SQLServer會話狀態時,我不能使用上面的相同代碼嗎?

+0

完全取決於你已經多麼小心使用會話狀態,直至現在。如果你放在會話中的所有內容都是可序列化的,那麼改變它應該是微不足道的。 OTOH,如果你一直在會話中存儲複雜的,不可序列化的對象,那麼你將需要做一些相應的工作來消除/替換這些對象。 –

+1

你有沒有試過谷歌?第一個結果來自msdn,並解釋如何執行此操作:https://msdn.microsoft.com/en-us/library/ms178586.aspx –

+0

當切換到SQL服務器會話狀態時,您可以使用相同的代碼而不會有任何問題,只有更改是你的web.config設置 –

回答

0
+0

因此,如果我按照文章中給出的步驟,將工作?我的意思是,有什麼需要在源代碼(C#)中完成?目前我正在使用下面的代碼來處理會話; **要設置** - >會話[「sessionName」] =「測試」 **要閱讀** - > string val = Session [「sessionName」]; –

0

你真的應該通過量已經提供的文章仔細閱讀。多年來,他們已經成功地向幾個人解釋了您的情況。 除非您在會話中存儲了不可序列化的數據,否則不需要更改代碼。 您還應該驗證,您沒有將大量數據存儲在會話狀態中,因爲SQL-Server會話狀態 - 比inproc更可靠 - 速度較慢。

另一篇文章供你參考: https://support.microsoft.com/en-us/kb/317604

相關問題