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;