SL3 DataGrid有一个下载XLS列,用于以Excel格式下载记录的详细信息。单击“下载”按钮,首先会提示用户使用SaveFileDialog选择文件,然后进行WCF调用以获取所选记录的详细信息。使用第三方excel帮助程序库,将记录添加到Excel工作表中并保存文件。
问题在于,当会话超时(例如,由于空闲)时,点击功能非常好,提示用户指定要保存的文件,然后重定向到登录页面(正如预期的那样)因为我们正在处理未经过身份验证的错误等)。
但是,用户现在感觉已经下载了一个空的Excel文件。
那么,有没有办法从Silverlight页面检测会话是否超时? 因此,只有在会话可用时才显示SaveFileDialog。
答案 0 :(得分:0)
您可以将心跳从Silverlight发送到ASP.NET。这也是Ajax世界中非常常见的问题。由于您也可以在Silverlight中使用Javascript,因此您可能需要检查此解决方案Keeping ASP.NET Session Open / Alive
如果您不喜欢JS,那么您可以使用HttpWebRequest或WebClient与asp.net进行通信......