2010-06-29 60 views
5

我已經通過 他們是在一個IIS應用程序,從而出現被託管的Web安裝項目部署到服務器的幾個WCF服務的任何信息來運行精細。WCF日誌記錄不工作,試圖讓爲什麼服務不工作

但是當我嘗試導航到WSDL,沒有被發現。

我試圖建立診斷日誌記錄,以獲得一些信息。

我從這裏遵循的建議:wcf trying to set up tracing to debug, not writing to log file

而且,我已經試過什麼是這裏的參考MSDN文檔中:http://msdn.microsoft.com/en-us/library/aa702726.aspx「部署或調試建議設置」下..我的web.config有相同組態。但是沒有創建日誌文件。

沒有在事件查看器有用。

任何想法? 謝謝!

回答

3

可能是一個權限問題; IIRC那些不會總是在事件日誌中出現。確保運行的用戶IIS對日誌文件路徑具有寫入權限。

+0

感謝您的想法。我暫時給了'每個人'完全控制c:\ logs,但還沒有寫完。 – 2010-06-29 18:36:05

+0

嗯...做IIS日誌表明請求正在處理?什麼是HTTP響應代碼? – Randolpho 2010-06-29 18:42:46

+0

有趣的是,當我嘗試訪問它時,IIS日誌中沒有任何顯示。 – 2010-06-29 19:45:34

2

這通常是我使用的診斷配置。似乎爲我工作。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    ... 
    <system.diagnostics> 
    <trace autoflush="true" /> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Verbose"> 
     <listeners> 
      <add name="sdt" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="D:\wcfLog.svcLog" /> 
     </listeners> 
     </source> 
    </sources> 
    </system.diagnostics> 
</configuration> 

如果您沒有得到任何輸出,可能是因爲您的服務未正確啓動。 ServiceHost必須啓動診斷才能輸出任何內容。即使您的站點正在運行,但使用IIS並不意味着ServiceHost正確啓動。這通常是一個配置問題。如果網站中存在未處理的異常,我不是網絡人員,但IIS不會寫入EventViewer?

此外,您可以嘗試創建一個自定義ServiceHostFactory。這樣你的代碼控制了ServiceHost的創建,你可以捕獲任何異常並自行記錄它們。

在IIS中創建自定義的ServiceHost - >LINK

1

這是一個老問題,但任何人的到這個問題誰可能絆倒的好處:

  1. 確保您已配置兩個系統.diagnosticsSystem.serviceModel/diagnostics部分已配置。
  2. 確保您在正確的App.config/Web.config文件中配置了它們。需要注意的一點是,多個配置文件可以在項目中存在,並使用了一個依賴於構建配置

個人而言,我有非常相同的症狀,直到我發現我把部分 下的app.config(在我的情況下,客戶端跟蹤),而不是 app.DebugLocal.config。後者被用作我的構建配置設置爲DebugLocal