2009-06-21 73 views
21

有沒有人有關於如何選擇擁有多個實例時如何在Azure中管理狀態的信息?看起來InProc將毫無價值,你將不得不擁有另一個狀態服務器實例,或者使用數據存儲來跨用戶存儲用戶狀態。Microsoft Azure如何處理會話狀態?

或者它執行粘性會話,所以InProc是你所需要的。

在這裏找到了答案: Azure Forums

+0

此鏈接已死亡,有誰知道這個信息是否在其他地方? – andynormancx 2011-01-24 17:26:04

+0

請參閱下面的答案,其中包含指向Cache常見問題解答的鏈接以及指向新的ASP.NET Universal Providers(新的Session State提供程序本身支持SQL Azure)的詳細信息的鏈接。 – 2011-12-21 04:00:15

回答

18

表存儲將是最合乎邏輯的地方。其他服務器場類型設置也使用數據庫表來存儲會話信息。

查看Windows Azure SDK示例中的AspProviders項目。它有一個使用Azure表存儲的SessionState提供程序。

2

不需要會話相關性,因此使用依賴於Azure storageSQL Azure storage的會話狀態提供程序是最佳選擇。

對於一些遺留應用程序,您可能仍然需要會話親緣關係。對於這些情況,Azure load balancerWeb farm之間的ARR是一個選項。

更多細節在http://go.archims.fr/hW54Xz

13

AppFabric的緩存剛剛投產,這是管理會話數據的好方法。事實上,它有一個自定義的會話狀態提供程序,它只需放入web.config即可。你會在Azure門戶中找到它。

有關緩存大小,定價和SLA的所有信息是here

編輯:Windows Azure Web角色模板現在包含新的ASP.NET Universal Providers,包括支持SQL Azure的會話狀態提供程序。查看Nate Totten的blog post瞭解更多詳情。現在Windows Azure提供了緩存角色和內存緩存(兩者都可以通過最新工具和v1.7 SDK輕鬆配置)。內存中的緩存利用一定百分比的內存(如果你的應用程序中不需要太多的內存,可以使用「免費」選項),將緩存擴展到一個現有的角色實例中。