2013-01-24 114 views
6

我想知道Windows Azure網站如何管理它跨多個實例的會話狀態。互聯網上有很多關於如何使用雲服務共享多個實例的會話狀態的內容,但是對於網站我找不到最終答案。Windows Azure網站會話狀態

問題How does windows azure websites handle session?還沒有一個客觀的答案。接受的最佳答案有一個很好的建議,但您必須觀看超過1小時的視頻。

你知道該怎麼做嗎?我可以只使用InProc會話狀態,並且Windows Azure會自動跨所有實例管理它嗎?

謝謝。

回答

4

貌似選項有:

  • Windows Azure的緩存服務 [1]。這是微軟提供的新的緩存服務。對於128MB緩存,定價從12.50美元/月開始(這是預覽定價,享受50%的折扣)。根據[2],訪問緩存的延遲大約爲1ms。

  • SQL Azure Accordign to Angshuman Nayak [3]相對便宜,尤其是如果您已經在使用SQL Azure作其他用途。作爲缺點,他提到潛在的性能問題,因爲您通常使用共享數據庫。你還需要照顧清理經驗會議。

  • 表存儲 Angshuman [3]還提供了一些關於如何使用表存儲來存儲會話的說明。他還提到性能不如其他解決方案,但沒有提供任何數字。表格存儲的好處在於定價。由於它是現收現付,因此沒有固定的月租費。

基於此似乎是Azure緩存服務的路要走,除非價格是一個問題。

[1] http://www.windowsazure.com/en-us/pricing/details/cache/

[2] http://weblogs.asp.net/scottgu/archive/2013/09/03/windows-azure-new-distributed-dedicated-high-performance-cache-service-more-cool-improvements.aspx

[3] http://blogs.msdn.com/b/cie/archive/2013/05/17/session-state-management-in-windows-azure-web-roles.aspx

0

在蔚藍的,你可以使用Redis的緩存來處理會話。

- >安裝nuget包RedisSessionStateProvider - >將您的SessionState模式設置爲web.config中的自定義模式,將自定義提供程序設置爲RedisSessionProvider。

您可以通過以下方式找到更多的信息here