【发布时间】:2011-02-03 19:25:03
【问题描述】:
我有一个托管的 Silverlight 4 应用程序。我的任务是在 Silverlight 用户的 ASP.NET 会话即将到期时通过一个简单的对话框通知他,例如“您的会话即将到期,您要重置会话吗?”有两个按钮 [Yes] 和 [No]。当用户单击 [Yes] 时,我想更新 ASP.NET 会话,否则我会让它过期。在这里使用的最佳方法是什么?
我查看了不同的论坛,大多数人只是不时地从托管 Silverlight 应用程序的页面中轮询服务器。这不适合我。我想创建一个单例 DispatcherTimer,它将在 Silverlight 应用程序启动时启动,使用 WCF 从服务器获取 Session.Timeout 值并运行 (Session.Timeout - some delta) 分钟。当计时器到期时,它会弹出通知窗口。此外,由于此通知窗口仅应在一段时间不活动后弹出,因此我想在每次执行 WCF 调用(本质上定义活动)时重置此计时器。这是声音吗?有没有更好的方法?你有什么想法?
附:我还计划为表单超时做类似的事情。
【问题讨论】:
标签: asp.net silverlight session