2011-07-27 35 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