揭开ADO.NET TracinginSyncServices使用之谜 - Go语言中文社区

揭开ADO.NET TracinginSyncServices使用之谜


ADO.NET还是比较常用的,于是我研究了一下ADO.NET TracinginSyncServices,在这里拿出来和大家分享一下,希望对大家有用。SyncServiceforADO.NET是微软MSF(MicrosoftSyncFramework)中的一个重要组成部分,它的提供了一套完整的开发框架,应对与各种场景的离线数据同步。我们可以用其开发一些复杂的场景,用以适应复杂的企业逻辑。比如在一份分布式场景中:我们创建一个Server,然后使用几十或上千台PC、Notebook以及WMDevice(手机PDA移动设备)作为Client段,使用SyncServiceforADO.NET进行数据同步。

对于这个复杂的分布式同步场景,如何进行调试与纠错呢?这时候需要用到ADO.NET TracinginSyncServices。

什么是ADO.NET TracinginSyncServices?

Tracing记录了程序的各种操作,包括同步数据和Metadata,然后将这些信息给了Listener。作为Listener,可以把这些信息记录到一个文件中作为LOG日志,或者根据你的要求传送的其他地方。在一个分布式的程序中,Tracing是相当重要的,因为你需要用到它调试程序的错误,找到问题发生的根源。否则,查找问题发生的根源是非常困难的。

如何开始开启ADO.NET TracinginSyncServices

在缺省的情况下,Tracing是关闭的。我们可以通过配置TraceListener,来开启Tracing。我们可以通过编辑app.config来开启Tracing,请加入以下的代码:

  1. <configuration> 
  2. <system.diagnostics> 
  3. <switches> 
  4. <!--0-off,1-error,2-warn,3-info,4-verbose.--> 
  5. <addnameaddname="SyncTracer"value="3"/> 
  6. </switches> 
  7.  
  8. <traceautoflushtraceautoflush="true"> 
  9. <listeners> 
  10. <addnameaddname="TestListener"type="System.Diagnostics.TextWriterTraceListener"initializeData="c:TraceSample.txt"/> 
  11. </listeners> 
  12. </trace> 
  13. </system.diagnostics> 
  14. </configuration> 


如何选择合适的TraceLevel

Trace的记录会带来一些性能上的影响,你需要认真考虑如何设置TraceLevel,从而达到Trace记录与产品性能上的平衡。通常情况下,如果只是想监控错误消息,选择TraceLevel=1或2即可。当你需要更多的LOG信息以便于调试观察时,你可以将TraceLevel=3或4,请记住,这时候产生的LOG是非常详细的,与其对应的LOG文件也会很大-这会给程序的性能带来不小的影响。通常情况下,我们只会在调试错误以及开发过程中使用此TraceLevel。

详细信息请查看下表:

  1. Switchvalue  
  2. Tracinglevel  
  3. Output  
  4. 0  
  5. off  
  6. Nomessagestotracelisteners.  
  7. 1  
  8. error  
  9. Onlyerrormessagestotracelisteners.  
  10. 2  
  11. warning  
  12. Errorandwarningmessagestotracelisteners.  
  13. 3  
  14. info  
  15. Informational,warning,anderrormessagestotracelisteners.  
  16. 4  
  17. verbose  
  18. Allmessagestotracelisteners. 

开始一个实例,验证Traceing是否能正常工作,按照上面的我介绍的方法,将TraceLevel=3,运行程序后,LOG文件被被产生,

【责任编辑:姜程程 TEL:(010)68476606】

点赞 0
版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/200911/160708.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 10:59:01
  • 阅读 ( 1240 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢