首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WCF 啟動失敗:System.ServiceModel.Diagnostics.TraceUtility 型別初始化異常

     編輯:關於.NET

錯誤訊息:System.TypeInitializationException: "System.ServiceModel.Diagnostics.TraceUtility" 的類型初始值設定項引發異常,內層 ConfigurationErrorsException: 無法識別的配置節 behaviors。

根因

app.config 或 web.config 中 <system.serviceModel> 區段缺失或結構錯誤,導致 WCF 追蹤系統初始化時讀取設定失敗。

錯誤設定範例

<configuration>
  <!-- 缺少 system.serviceModel 父節點 -->
  <behaviors>
    <serviceBehaviors>...</serviceBehaviors>
  </behaviors>
</configuration>

正確結構

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="myBehavior">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="myBehavior" ...>...</service>
    </services>
  </system.serviceModel>
</configuration>

快速檢查清單

  • 確認 <system.serviceModel> 存在且拼寫正確(區分大小寫)。
  • <behaviors>、<services>、<bindings> 皆在其內部。
  • 使用 Visual Studio **XML 編輯器智慧提示** 或 **WCF 設定編輯器**(工具 → WCF Service Configuration Editor)驗證結構。
  • 若從舊專案複製設定,務必檢查根節點完整性。

延伸:啟用 WCF 追蹤診斷

<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
      <listeners><add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="wcf.trace.log"/></listeners>
    </source>
  </sources>
</system.diagnostics>

產生的 .svclog 可用 **Service Trace Viewer** 開啟,快速定位通訊錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved