2010-01-08 30 views

回答

7

默認情況下會話存儲在InProc。您應該選擇out-of-process option

也許只是一個StateServer足以在你的情況下

+4

使用StateServer可以解決問題。請注意,使用任何進程外會話存儲時,您希望放入會話的所有內容都需要可序列化。 – TonyB

1

一種方法是有一個負載均衡的服務器設置。您可以將所有流量定向到服務器A,修補服務器B,然後重複其他方式。

或者,正如@Curtisk所述,最好到達不需要通過嚴格測試來完成「熱補丁」的階段,然後繼續計劃提前公佈的中斷。

希望這會有所幫助。

1

發生這種情況的原因是部署新代碼會導致應用程序池被回收。然後你失去了記憶中的一切。

解決此問題的方法是不保存任何內容。

這是多麼困難取決於你的架構。

一種解決方案可能是使用進程外狀態在SQL Server中保存會話信息。請注意,不要使用內存狀態服務器,就像應用程序池被回收一樣,您將會丟失該內容。