Silverlight网页打开后马上崩溃,“白屏”,而且毫无提示

时间:2021-10-30 11:28:54

如题,出现白屏的问题

在Application_UnhandledException函数内,跟踪异常e的提示信息,可以了解到如下信息:

at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
at System.Net.OpenReadCompletedEventArgs.get_Result()
at MapBase.NewMap.Layer.NewMapWMTSLayer.w_OpenReadCompleted(Object sender, OpenReadCompletedEventArgs e)
at System.Net.WebClient.OnOpenReadCompleted(OpenReadCompletedEventArgs e)
at System.Net.WebClient.OpenReadOperationCompleted(Object arg)

尝试了实时调试功能http://baike.baidu.com/view/1370595.htm,以失败告终。

查询网上关于白屏的解决方案:

一、造成白屏可能原因:

托管代码异常。

XAML代码产生异常。

部署方式。

二、解决方法:

托管代码异常造成的白屏有多种例如:WCF无法获取数据、javascript错误。托管代码异常比较好跟踪,调试的时候会很快定位异常,这里不过多讨论。这里主要给出一些解决XAML代码、部署方式产生的异常导致白屏的方法。

1、 设置控件样式:

症状:给控件设置样式后,某些电脑运行正常,但在个别电脑运行出现白屏现象。

可能原因:样式中设置某些字体,但在其他电脑上没有这些字体库、或字体库错误导致。

解决方法:修改样式。

2、 数据绑定

症状:绑定数据后,运行后当加载到某些数据时出现白屏现象。

可能原因:例如DataGrid、ListBox、ComboBox采用List<>绑定数据,当List<>数据改变时,有可能会出现白屏异常。

解决方法:DataGrid、ListBox、ComboBox等尝试在数据发生改变后,重新绑定。重新绑定会影响性能,同时List<>绑定的效率比较低下,如果可以最好采用ObservableCollection <>进行绑定。

3、 部署方式

症状:如果以上原因排除,或在添加某个XAP包后出现异常。

可能原因:在生成Silverlight项目时,勾选了如图1-1所示选项:

Silverlight网页打开后马上崩溃,“白屏”,而且毫无提示

解决方法:将图1-1中“通过使用应用程序库缓存减小XAP大小”勾选去掉。

三、一个做项目中遇到的Not Found问题:

at MapBase.Utils.NewMapWorkShop.w_OpenReadCompleted(Object sender, OpenReadCompletedEventArgs e)
at System.Net.WebClient.OnOpenReadCompleted(OpenReadCompletedEventArgs e)
at System.Net.WebClient.OpenReadOperationCompleted(Object arg)

原因是App.xml中配置出错:

<!--分类查找-->
<Task ID="dg_qtask" SourceType="NewMap" ServiceType="ClassTask">
<Url>http://192.168.1.22:9010/sd_gz_dmdz/wfs?TypeName=GEOSTAR.DMDZ</Url>
<!--要素服务地址-->
<Path>http://localhost:3048/clientbin/cls.xml</Path>
<!--分类配置文件的路径-->
<PageSize></PageSize>
<!--分页大小-->
<Field>Name</Field>
<!--分类查询的字段,可多个字段以逗号分隔-->
</Task>

端口号3048必须与主程序相同