Silverlight Application_Unhandled异常问题

时间:2016-03-08 14:50:18

标签: javascript asp.net wcf internet-explorer silverlight

我有一个在Asp.net网站上托管的silverlight应用程序。用于获取来回WCF服务的数据。用户可以独立使用应用程序和网站。

如果asp.net网站被用户注销,则Silverlight应用程序会继续运行,但由于WCF服务不再可用,因为它使用asp.net会话,因此会面临超时问题。

Silverlight无法将会话检测为不再处于活动状态,只有解决方法是处理wcf超时异常。 Silverlight应用程序还使用回调来处理结果。

因此,我决定使用Application_Unhandle事件来捕获超时异常而不是经历每次回调和捕获超时异常,如果是这样,将用户重定向到Asp.net登录页面或显示消息框以通知用户会话已过期请再次登录

private void Current_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) {
        if (e.ExceptionObject is System.ServiceModel.CommunicationException) {
            // Inform the user

            // Recover from the error
            e.Handled = true;
            MessageBox.Show("Session is expired. Please login again to continue.");

        }

        // Exception is unrecoverable so stop the application and allow the 
        // Silverlight plug-in control to detect and process the exception.                     
    }

这对我当地的环境非常有用。

但是当我在服务器上部署它时,它不起作用。

更新

在进一步调查中,我发现IE的脚本调试器会抛出javascript未处理的异常,这会破坏代码执行,因此代码永远不会到达Silverlight Application_Unhandle代码。

更新2

我正在获得视觉工作室Just in Time错误。

Just In Time Exception

0 个答案:

没有答案