2012-02-28 77 views
1

我們使用Forms Authentication在Azure雲上運行基於ASP.NET MVC3的Web角色。在Azure上註銷

偶爾我們已經注意到,登錄的用戶將自動註銷,而無需任何操作(瀏覽器窗口打開時)。

有沒有其他人看到過這個?任何想法爲什麼這可能發生?

已經在多臺機器上觀察到使用多個瀏覽器的多個用戶。

謝謝!

回答

4

不多,在這裏繼續下去,但是......

  • 你運行多個實例?如果是這樣,你是否將SQL Azure或Cache設置爲會話提供者?如果沒有,您將擁有兩組會話狀態,並且根據您訪問的是哪個VM實例,用戶的會話狀態可能存在也可能不存在。
  • 註銷是否在20分鐘不活動之後發生?這是AppPool在回收之前的默認超時時間。
  • 這是否發生在計算模擬器以及部署?
1

由於windows azure網絡負載均衡不支持關聯,因此每個客戶端請求都將被重定向到任何節點實例。如果您不使用SQL Azure或Azure AppFabric Cache作爲會話提供程序,則每個實例將在內存中存儲其asp.net會話。然後每個內存中的會話對其他實例都是不可見的。

1

最有可能是您的Session正在運行InProc,並且當用戶轉到新服務器時,他們不得不再次登錄或者服務器由於某種原因重新啓動。如果您正在使用InProc,請切換到AppFabric緩存,如果您已經使用了該緩存,請登錄該框並檢查事件日誌以查看進程是否正在重新啓動(查找未處理的異常)。