Silverlight网页打开后马上崩溃,“白屏”,而且毫无提示
如题,出现白屏的问题
在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所示选项:
解决方法:将图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>10</PageSize> <!--分页大小--> <Field>Name</Field> <!--分类查询的字段,可多个字段以逗号分隔--> </Task>
端口号3048必须与主程序相同