2012-04-15 40 views
2

我的WCF服務出現了某種錯誤。WCF跟蹤和消息記錄不會在服務主機(服務器)端寫日誌文件

我需要確定發生了什麼,所以我試圖啓用服務跟蹤日誌記錄。

我遵循規定的指導原則,並使用wcf configuration editor在我的客戶端和服務器中設置跟蹤和消息日誌。

跟蹤正常工作在客戶端,但該消息是在這種情況下,有限的使用,因爲它們只是表明,真正的失敗已經在服務器上,我應該檢查服務器日誌:

的接收到對 http://localhost:24162/MembershipService.svc的HTTP響應時發生錯誤。這可能是由於服務端點 綁定不使用HTTP協議。這也可能是由於服務器中止了HTTP請求上下文 (可能由於服務關閉)。 查看服務器日誌以獲取更多詳細信息。

我在調試模式下運行,所以在這種情況下,服務器端口運行asp.net開發服務器24162.

我的診斷服務主機的web.config的部分:

<system.diagnostics> 
<sources> 
    <source propagateActivity="true" name="System.ServiceModel" switchValue="Verbose,ActivityTracing"> 
    <listeners> 
     <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
     <filter type="" /> 
     </add> 
     <add name="ServiceModelTraceListener"> 
     <filter type="" /> 
     </add> 
    </listeners> 
    </source> 
    <source name="System.ServiceModel.MessageLogging" switchValue="Verbose,ActivityTracing"> 
    <listeners> 
     <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
     <filter type="" /> 
     </add> 
     <add name="ServiceModelMessageLoggingListener"> 
     <filter type="" /> 
     </add> 
    </listeners> 
    </source> 
</sources> 
<sharedListeners> 
    <add initializeData="C:\Logs\web_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    name="ServiceModelTraceListener" traceOutputOptions="Timestamp"> 
    <filter type="" /> 
    </add> 
    <add initializeData="C:\Logs\web_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp"> 
    <filter type="" /> 
    </add> 
</sharedListeners> 
<trace autoflush="true" /> 

和system.servicemodel部

<system.serviceModel> 
     <diagnostics> 
     <messageLogging logEntireMessage="true" logKnownPii="true" logMalformedMessages="true" 
     logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" /> 
     <endToEndTracing propagateActivity="true" activityTracing="true" 
     messageFlowTracing="true" /> 
    </diagnostics> 
</system.serviceModel> 

目錄「C:\ Logs」確實存在,我賦予了「每個人」完全控制權。我也證實了TRACE常量的定義是確定的。正如你所看到的,我試圖捕獲跟蹤/消息日誌必須提供的任何東西和所有東西。什麼都可以。但是,唉,我什麼也沒有,納達,齊爾奇。

在回顧了本網站上的現存問題並做了大量的Google搜索後,遵循一些建議(確保文件夾存在,驗證用戶對文件夾具有適當的權限),我感到沒有更接近理解爲什麼我的跟蹤不寫入文件。有關如何解決跟蹤日誌記錄的任何建議?是否有其他信息記錄在其他地方,這表明跟蹤不起作用的原因?

參考,未來的讀者 -

我去here服務跟蹤日誌記錄配置說明。 我去了herehere嘗試排除未被寫入的日誌文件。

回答

4

我寫了this up約一個月前,我有跟蹤記錄工作。看看它是否可以幫助你。在你的配置中沒有任何東西跳出來,看起來不正確。但是,也許從我的配置重新開始將有助於揭示這種情況。

+0

謝謝,即使我仍然有問題,我已經標記了您的答案,因爲我沒有更好的答案... – Erikest 2012-05-09 02:31:27