程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Sync Service for ADO.NET程序調試(一)

Sync Service for ADO.NET程序調試(一)

編輯:關於.NET

使用Tracing生成LOG(數據同步日志) [DESKTOP篇]

Sync Service for ADO.NET 是微軟MSF(Microsoft Sync Framework)中的一個重要組成部分,它的提 供了一套完整的開發框架,應對與各種場景的離線數據同步。我們可以用其開發一些復雜的場景,用以適 應復雜的企業邏輯。比如在一份分布式場景中:我們創建一個Server,然後使用幾十或上千台PC、 Notebook以及WM Device(手機PDA移動設備)作為Client段,使用Sync Service for ADO.NET 進行數據 同步。

對於這個復雜的分布式同步場景,如何進行調試與糾錯呢?這時候需要用到 Tracing in Sync Services。

什麼是Tracing in Sync Services?

Tracing 記錄了程序的各種操作,包括同步數據和Metadata,然後將這些信息給了 Listener。作為 Listener,可以把這些信息記錄到一個文件中作為LOG日志,或者根據你的要求傳送的其他地方。在一個 分布式的程序中,Tracing是相當重要的,因為你需要用到它調試程序的錯誤,找到問題發生的根源。否 則,查找問題發生的根源是非常困難的。

如何開始開啟Tracing in Sync Services

在缺省的情況下,Tracing是關閉的。 我們可以通過配置 Trace Listener,來開啟Tracing。

我們可以通過編輯 app.config來開啟Tracing,請加入以下的代碼:

<configuration>
 <system.diagnostics>
  <switches>
   <!-- 0-off, 1-error, 2-warn, 3-info, 4-verbose. -->
   <add name="SyncTracer" value="3" />
  </switches>

  <trace autoflush="true">
   <listeners>
    <add name="TestListener" type="System.Diagnostics.TextWriterTraceListener"  initializeData="c:\TraceSample.txt"/>
   </listeners>
  </trace>
 </system.diagnostics>
</configuration>

如何選擇合適的Trace Level

Trace的記錄會帶來一些性能上的影響,你需要認真考慮如何設置TraceLevel,從而達到Trace記錄與 產品性能上的平衡。

通常情況下,如果只是想監控錯誤消息,選擇TraceLevel=1或2即可。 當你需要更多的LOG信息以便於 調試觀察時,你可以將TraceLevel=3或4,請記住,這時候產生的LOG是非常詳細的,與其對應的LOG文件 也會很大 - 這會給程序的性能帶來不小的影響。通常情況下,我們只會在調試錯誤以及開發過程中使用 此TraceLevel。

詳細信息請查看下表:

Switch value Tracing level Output 0 off No messages to trace listeners. 1 error Only error messages to trace listeners. 2 warning Error and warning messages to trace listeners. 3 info Informational, warning, and error messages to trace listeners. 4 verbose All messages to trace listeners.

開始一個實例,驗證Traceing是否能正常工作

按照上面的我介紹的方法,將TraceLevel=3,運行程序後,LOG文件被被產生,其格式如下:

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:027, Connecting to server using string: Data Source=localhost;Initial Catalog=SyncSamplesDb;Integrated Security=True

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:027, ----- Server Enumerating Changes to Client for Group "Customer" -----

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:027, Client Id: bc5610f6-bf9c-4ccd-8599- 839e54e953e2

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:027, Mapped Originator Id: 0

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:042,

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:042, ----- Enumerating Inserts for Table Customer -----

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:058, Changes Enumerated: 5

INFO, MyApp.vshost, 10, 03/20/2008 17:43:03:058, --- End Enumerating Inserts for Table Customer ---

怎麼樣,整個同步的過程是不是清晰明了呢,作為初學者,我們可可以通過觀察LOG的變化,從而深入 的了解Sync Service for ADO.NET 的運行過程,從而幫助我們快速的掌握Sync Service for  ADO.NET 。

出處:http://liangyiming.cnblogs.com

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved