2011-04-20 39 views
0

我正在計劃將部署在Windows Azure上的應用程序。 Web角色將有多個實例。我看到,有多個實例in-proc會不會幹活看到我下面的方法來管理我的會議爲Windows Azure上的會話管理選擇一種方法

  1. 使用Azure存儲

  2. SQL Azure的

  3. AppFabric的

我不想使用選項2(SQL Azure)。

我應該選擇哪個選項?

更新1

我碰到這個post這表明會話親和力在Azure上用Aplication請求路由(ARR)。如何使用這個選項,而不是以上?

回答

6

AppFabric緩存服務,絕對。 It will be live in 30 days,看看這個鏈接:Using the Windows Azure AppFabric Caching for Session State爲了看看如何使用它。

表存儲提供程序不能很好地工作,只是一個概念證明,不應該用於生產代碼。

保持SQL中的會話狀態Microsoft不支持SQL Azure。此外,由於沒有SQL作業代理,所以必須將清理邏輯放入WebRole或獨立的Worker角色中。

+1

我同意 - 我最近想在項目上使用AppFabric緩存,但由於它還沒有出來,我使用Azure存儲(使用自定義實現 - 默認表存儲提供程序很粗略) – 2011-04-20 12:39:40

+0

我有增加了一些信息。你能看看嗎? – 2011-04-20 14:34:48

+0

我認爲這是一團糟。首先,你將付出代價來解決會話問題,其次,AppFabric Caching服務更加困難。會話狀態必須小心使用,它是分佈式應用程序的殺手鐗,將部署在雲上的另一臺計算機作爲保鏢,因此您可以使用InProc會話狀態提供程序......更糟糕:D – vtortola 2011-04-20 15:13:24

4

我在包含會話狀態提供程序的Codeplex上開發了一個名爲Azure Providers的開源項目。會話狀態提供程序將會話數據存儲在Windows Azure表存儲中。 http://azureproviders.codeplex.com/

+0

此會話提供程序是否刪除實體會話結束? – 2011-04-20 14:28:33

+0

我已經添加了一些信息。你能看看嗎? – 2011-04-20 14:35:29

+1

您添加的信息不是一個好主意;另外請記住,該ARR文章的作者解釋說他所展示的應該是自動化的。他是對的,因爲如果你像這樣手工配置你的卷軸,當它們被回收時(這可能發生在很多預期的和意外的原因)時,它們將丟失配置。我認爲沒有理由不使用SQL Azure,它工作得很好。不過,我肯定會檢查提到的Azure提供商項目Inge。 – tijmenvdk 2011-04-21 11:22:21