Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Silverlight中检测会话超时_C#_Asp.net_Session_Silverlight 3.0_Savefiledialog - Fatal编程技术网

C# 在Silverlight中检测会话超时

C# 在Silverlight中检测会话超时,c#,asp.net,session,silverlight-3.0,savefiledialog,C#,Asp.net,Session,Silverlight 3.0,Savefiledialog,SL3数据网格有一个下载XLS列,用于以Excel格式下载记录的详细信息。单击下载按钮时,首先会显示一个SaveFileDialog提示用户选择文件,然后进行WCF调用以获取所选记录的详细信息。使用第三方excel助手库,将记录添加到excel工作表并保存文件 问题是,当会话超时时(例如,由于空闲),单击功能正常,提示用户指定要保存的文件,然后重定向到登录页面(正如预期的那样,因为我们正在处理未经验证的错误等) 但是,用户现在有一种错觉,以为下载了一个空的Excel文件 因此,是否有办法从Sil

SL3数据网格有一个下载XLS列,用于以Excel格式下载记录的详细信息。单击下载按钮时,首先会显示一个SaveFileDialog提示用户选择文件,然后进行WCF调用以获取所选记录的详细信息。使用第三方excel助手库,将记录添加到excel工作表并保存文件

问题是,当会话超时时(例如,由于空闲),单击功能正常,提示用户指定要保存的文件,然后重定向到登录页面(正如预期的那样,因为我们正在处理未经验证的错误等)

但是,用户现在有一种错觉,以为下载了一个空的Excel文件

因此,是否有办法从Silverlight页面检测会话是否超时?
因此,仅当会话可用时才显示SaveFileDialog。

您可能可以将心跳信号从Silverlight发送到ASP.NET。这也是Ajax世界中非常常见的问题。由于您也可以在Silverlight中使用Javascript,因此可能需要检查此解决方案


如果您不喜欢JS,那么您可以使用HttpWebRequest或WebClient与asp.net通信…

嗨,Michael,谢谢您的回复。我的目的不是让会话保持活动状态,而是确保会话不再存在时不会弹出SaveFileDialog,因为它将重定向到登录页面(预期)。想知道是否有任何方法可以通过点击按钮知道会话是否处于活动状态或已过期?