【问题标题】:Detecting Session Timeout in Silverlight在 Silverlight 中检测会话超时
【发布时间】:2011-07-27 08:34:59
【问题描述】:

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

问题是,当 Session 超时时(比如因为空闲),点击功能非常好,提示用户指定要保存的文件,然后重定向到登录页面(如预期的那样) ,因为我们正在处理 not authenticated 错误等)。

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

那么,有没有办法从 Silverlight 页面检测会话是否超时? 从而仅在 Session 可用时才显示 SaveFileDialog。

【问题讨论】:

    标签: c# asp.net session silverlight-3.0 savefiledialog


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,迈克尔,感谢您的回复。我的目的不是让会话保持活动状态,而是确保当会话不再存在时我不会弹出 SaveFileDialog,因为它无论如何都会重定向到登录页面(预期)。想知道是否有任何方法可以知道单击按钮时会话是活动的还是已过期?
    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    相关资源
    最近更新 更多