1.客户端对于服务器端返回错误显示
l LoadOperation的错误处理:
客户端DomainContext的Load函数装载查询,并可以激发回调函数,在回调函数中对返回的错误进行处理,并调用MarkErrorAsHandled()表示错误已处理,无需throw an error
LoadOperation op = dbcxt.Load(dbcxt.GetSHJLYSZSJTableQuery(sql.ToString()), loadOperation => { if (loadOperation.HasError) { MessageBox.Show(loadOperation.Error.Message); loadOperation.MarkErrorAsHandled();//表示错误已处理,无需throw an error } else{无错误处理…} }, null); |
2.服务器端调试
大部分时候,靠LoadOperation的Error.Message不能显示真正的出错原因,需要在后台设置日志监控。
服务器段调试分为两步:
2.1.设置开启日志
使用WCFService Configuration Editor编辑Silverlight Application项目的Silverlight运行的Container(asp.NET)中的配置文件:WEB.config
u 打开Diagnostics中的:MessageLogging和Tracing,设置为ON
u 打开Diagnosticsà Message Logging中
l LogMessagesAtServiceLevel设为true
l LogMessagesAtTransportLevel设为false;
2.2.使用工具查看
运行后日志信息会放在项目与WEB.config相同的目录下:Web_tracelog.svclog
使用:C:\Program Files\MicrosoftSDKs\Windows\v6.0A\Bin\SvcTraceViewer.exe工具可以查看
2.3关掉Customerrors
将Web.config中的<customErrors mode="Off"/> ,将会给Silverlight提供更多的信息,但在正式版中会暴露系统的大量信息,由此正式发布时,必须=ON;