在使用Silverlight跨域调用远程WCF Ria Service的时候经常会遇到这个错误:The remote server returned an error: NotFound. 这个错误又不能debug,怎么办?可以打开WCF Ria Service的tracing功能,记录trace文件,然后使用Microsoft Service Trace Viewer查看。
首先在WCF Ria Service项目的web.config增加如下的部分:
<system.serviceModel></system.serviceModel><!-- 从这儿开始 -->
<system.diagnostics><sources><source name="System.ServiceModel"switchValue="Information, ActivityTracing"propagateActivity="true"><listeners><add name="traceListener"type="System.Diagnostics.XmlWriterTraceListener"initializeData= "c:\log\wcfProject1Tracess.svclog" /></listeners></source></sources></system.diagnostics>然后双击文件就可以使用Microsoft Service Trace Viewer打开,打开很容易看到错误:
此外,还可以使用Fiddler
使用Fiddler 2 解析WCF RIA Service传输的数据,您需要安装一个PlugIn。下载解压后,放在Inspectors文件中。重新启动Fiddler,你就会看到WCF Binary的选项。