天天看点

WCF RIA调试

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

WCF RIA调试

u  打开Diagnostics中的:MessageLogging和Tracing,设置为ON

u  打开Diagnosticsà Message Logging中

WCF RIA调试

l  LogMessagesAtServiceLevel设为true

l  LogMessagesAtTransportLevel设为false;

WCF RIA调试

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;

继续阅读