2011-07-27 89 views
0

SL3 DataGrid有一個下載XLS列來以Excel格式下載記錄的詳細信息。點擊下載按鈕後,首先用SaveFileDialog提示用戶選擇文件,然後進行WCF調用以獲取所選記錄的詳細信息。使用第三方Excel輔助程序庫,記錄被添加到Excel工作表並保存文件。在Silverlight中檢測會話超時

問題是,當Session超時(比如說由於空閒),點擊功能完好,提示用戶指定要保存的文件,然後重定向到登錄頁面(如預計,因爲我們正在處理未驗證的錯誤等)。

但是,用戶現在幻想已經下載了一個空的Excel文件。

那麼,有沒有辦法檢測Silverlight頁面,如果會話超時? 只有當會話可用時才顯示SaveFileDialog。

回答

0

您或許可以將心跳從Silverlight發送到ASP.NET。這在Ajax世界也是很常見的問題。正如你可以在Silverlight中使用JavaScript,以及,你可能要檢查這個解決方案Keeping ASP.NET Session Open/Alive

如果你不喜歡JS,那麼你可以使用的HttpWebRequest或WebClient的使用asp.net溝通......

+0

邁克爾喜, 謝謝回覆。我的意圖不是讓會話保持活動狀態,而是確保當會話不再存在時不彈出SaveFileDialog對話框,因爲它無論如何都會重定向到登錄頁面(預期的)。想知道如果會話處於活動狀態或已過期,是否有按鈕點擊的方法? – Vaibhav