星期四, 9月 09, 2021

WCF 回傳為錯誤

在本機測試都沒問題,放上正式環境後就掛掉,最後只好把 Web.Config 開啟紀錄來看看

在 system.web 加入了紀錄 Trace 的功能

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
      <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
      <source name="System.Runtime.Serialization" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add name="ServiceModelTraceListener" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="App_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />
    </sharedListeners>
  </system.diagnostics>

在同一資料夾就會有 App_tracelog.svclog 這個檔案產生,成長速度飛快,我才紀錄 2 天就大到  2G 了,還好已經紀錄到我要看的,趕緊將記錄功能從 Web.Config 中移除。

使用 Microsoft Service Trace Viewer 就可以開啟,沒有也有可以記事本,只是很難閱讀。

最後才發現,原來這次我的調整用了新的 DataTable 但是沒給 TableName 造成的。

呼~~~虛驚一場。