启用Silverlight Out-of-browser会破坏浏览器内的应用程序
本文关键字:浏览器 应用程序 Silverlight Out-of-browser 启用 | 更新日期: 2023-09-27 18:01:46
我目前正在用Silverlight开发一个小应用程序,最近为了尝试一下,我为我的应用程序启用了浏览器外部署。然而,现在在我禁用设置之后,运行应用程序现在一旦完成加载就会抛出异常。
一个未处理的异常(' unhandled Error in silverlight application . ')代码:4004类别:ManagedRuntimeError消息:System.Reflection.TargetInvocationException:操作过程中发生异常,导致结果无效。
但是,如果我只是在浏览器中打开TestPage.html,应用程序仍然像以前一样工作。
任何想法?由于
例如,尝试在App.Xaml.cs的Application_UnhandledException方法中输入以下行(App.Xaml的代码隐藏) " MessageBox.Show (e.ExceptionObject.Message);"。这可以让您了解调试器尚未连接到浏览器时出现的问题。顺便说一句,在Visual Studio中,您可以在调试菜单->附加到进程…中手动将调试器附加到浏览器上。,然后选择进程,例如输入"Silverlight, x86"。
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
MessageBox.Show(e.ExceptionObject.Message);
// If the app is running outside of the debugger then report the exception using
// the browser's exception mechanism. On IE this will display it a yellow alert
// icon in the status bar and Firefox will display a script error.
if (!System.Diagnostics.Debugger.IsAttached)
{
// NOTE: This will allow the application to continue running after an exception has been thrown
// but not handled.
// For production applications this error handling should be replaced with something that will
// report the error to the website and stop the application.
e.Handled = true;
Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
}
}
我找到问题了。我不确定为什么激活浏览器外,然后返回需要这个,但添加一个clientaccessppolicy .xml文件到.web项目
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
修复问题