如何解決每次將特定代碼文件部署到ASP.NET網站時會話都被刪除的事實?有時候我們需要在一天中間部署一個關鍵的修復程序,但不希望引導所有用戶使用它。ASP.NET部署:如何避免更新代碼時丟失會話狀態?
7
A
回答
7
默認情況下會話存儲在InProc
。您應該選擇out-of-process option。
也許只是一個StateServer
足以在你的情況下
+4
使用StateServer可以解決問題。請注意,使用任何進程外會話存儲時,您希望放入會話的所有內容都需要可序列化。 – TonyB
1
一種方法是有一個負載均衡的服務器設置。您可以將所有流量定向到服務器A,修補服務器B,然後重複其他方式。
或者,正如@Curtisk所述,最好到達不需要通過嚴格測試來完成「熱補丁」的階段,然後繼續計劃提前公佈的中斷。
希望這會有所幫助。
1
發生這種情況的原因是部署新代碼會導致應用程序池被回收。然後你失去了記憶中的一切。
解決此問題的方法是不保存任何內容。
這是多麼困難取決於你的架構。
一種解決方案可能是使用進程外狀態在SQL Server中保存會話信息。請注意,不要使用內存狀態服務器,就像應用程序池被回收一樣,您將會丟失該內容。
相關問題
- 1. ASP.NET會話狀態異常後丟失
- 2. 會話狀態丟失值
- 3. 丟失會話狀態
- 4. 如何在升級wordpress插件時避免代碼丟失
- 5. 刷新時會話丟失
- 6. 會話狀態在asp.net web farm中丟失
- 7. 如何避免無狀態會話Bean的併發性?
- 8. 避免在ASP.NET MVC中丟失視圖
- 9. 更新登錄會話超時狀態
- 10. ASP.NET會話狀態
- 11. asp.net會話狀態
- 12. ASP.Net會話狀態
- 13. RabbitMQ的HA部署,以避免丟失的消息
- 14. ASP.NET中的會話狀態失效
- 15. 部署後密碼丟失
- 16. codeigniter會話在使用phpfog託管時會丟失會話狀態
- 17. 如何模擬會話狀態的丟失
- 18. 零宕機asp.net部署和會話狀態問題
- 19. 更新值丟失會話變量
- 20. 避免ssh會話超時
- 21. 如何避免在PHPExcel中丟失宏?
- 22. 如何避免與log4j丟失日誌
- 23. 如何避免類型丟失?
- 24. WildFly 10 HA部署:不會丟失會話
- 25. ASP.NET更改會話狀態模式
- 26. XSS更改ASP.NET會話狀態
- 27. 避免丟失幀glium
- 28. ReactJS - 在更新狀態中的對象時避免重置狀態
- 29. 部署ASP.Net站點時出現「無法序列化會話狀態」錯誤
- 30. 頁面重新加載時asp.net會話丟失(ispostback = false)
我寧願讓系統停機時間通知消息得到實施,讓用戶乾乾淨淨地處理與會話相關的熱補丁 – curtisk