2009-10-27 39 views
3

有沒有人有任何策略或想法來整體處理大ajaxy應用程序中的錯誤和會話到期?在傳統的Web應用程序中,當所有內容都是帖子或獲取時,很容易處理錯誤和會話過期並向用戶顯示友好的消息。與現代的ajaxy web應用程序不太一樣。我的網站應用程序使用ASP.Net Ajax更新面板和來自各個頁面的WCF調用。這些ajax調用中的任何一個都可能返回錯誤,或者用戶的會話可能會過期。我正在尋找的是一個單一的客戶端組件,或者可以識別何時出現錯誤並向用戶顯示友好的消息或識別會話超時並將用戶引導至登錄頁面的內容。人們做了什麼來處理這類問題?錯誤處理,在AJAX應用程序中的會話過期策略

+0

爲了澄清,我正在尋找一種通知用戶事件(錯誤或會話過期)的一般方法,並向他們顯示一些消息。我希望能夠在一個地方做到這一點,而不是在每個onError回調中編寫類似的代碼。 – Matthew 2009-10-27 14:25:35

回答

0

完全切換會話!這個建議有兩個方面。

  1. AJAX是沒有這麼快的技術,所以每微軟建議切換會話斷提高服務器端渲染時間
  2. 會議,與他們兩個同時打開2頁裂紋AJAX交易。

您已經提到過關於服務器端故障,並且會話負面列表可以繼續。

取而代之的是檢查你的代碼,真正需要在會話中存儲什麼。 我敢肯定,你可以將任何數據劃分到2(幻數)存儲:

  1. 數據被永久客戶端和服務器之間穿越(會話密鑰的例子模擬)。讓你自己的鑰匙,並保存在隱藏的領域或餅乾。 ViewState也很好,但爲了優化使用,我更喜歡控制保存的是什麼。
  2. 在多個頁面之間收集的數據,很好的例子是嚮導。在數據庫或用戶配置文件中累積來自用戶的數據(保存在數據庫中)。對於我的項目,我們開發了特殊的TempStorage表,其中用戶保存了嚮導數據,並且如果由於某種原因用戶尚未完成3天以上的所有步驟,表格將按作業進行清理。
+0

我不是在談論存儲臨時數據的會話狀態,我正在談論用戶的登錄會話。該會話可能會在不活動之後過期。在這種情況下,我需要用戶再次登錄。 – Matthew 2009-10-27 14:22:22

+0

@Matthew - 登錄用戶是具有AUTH cookie的用戶。所以它不是HttpSession的問題,只需確保用戶有足夠大的.ASPXFORMAUTH cookie的到期時間。 – Dewfy 2009-10-27 14:48:22

+0

即使仍然存在,會話可能會過期,我需要能夠讓用戶知道並呈現登錄頁面。 – Matthew 2009-10-27 15:25:04

相關問題