2012-02-29 65 views
0

我已經創建了WCF + WF服務。.NET WCF異常

我已經添加了綁定並嘗試從我的測試應用程序中訪問並執行我的WF,但得到這樣的異常,這是什麼意思,我該如何解決它?


由於內部錯誤,服務器無法處理請求。有關該錯誤的更多信息,請在服務器上打開IncludeExceptionDetailInFaults(來自ServiceBehaviorAttribute或來自配置行爲),以便將異常信息發送回客戶端,或根據Microsoft .NET Framework 3.0 SDK文檔啓用跟蹤並檢查服務器跟蹤日誌。


感謝

回答

2

的僅僅是一個普通的錯誤WCF發回服務器上的任何故障。正如錯誤信息所解釋的,如果您想查看實際錯誤,則需要在服務器配置中打開IncludeExceptionDetailInFaults。此設置如下所示:

<behaviors> 
     <serviceBehaviors> 
      <behavior name="My.ServiceBehaviour"> 
       <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
       <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
       <serviceDebug includeExceptionDetailInFaults="true" /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 

然後,WCF將返回給您實際的錯誤。

+0

我已經添加了代碼,但由於某種原因它仍然返回相同的錯誤。 – 2012-02-29 16:04:18

+0

@WildGoat你可以發佈你的配置部分嗎?您是否在終端上設置了服務行爲? – 2012-02-29 22:16:52

1

要發送異常給客戶,讓您可以在那裏查看異常的詳細信息,該serviceDebug部分添加到您的行爲是這樣的:

<behaviors> 
    <serviceBehaviors> 
    <behavior name="ServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    </serviceBehaviors> 

您可以打開跟蹤這樣的:

<system.diagnostics> 
    <sources> 
    <source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true"> 
     <listeners> 
     <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" /> 
     </listeners> 
    </source> 
    </sources> 
</system.diagnostics> 

然後打開LFFServicesHost.svclog文件。這將顯示有關失敗的詳細信息。

+0

我已經添加了代碼,但由於某種原因它仍然返回相同的錯誤。 – 2012-02-29 16:04:33

+0

是的,你仍然會得到錯誤 - 但是包含異常信息,你可以在調試模式下加載你的客戶端,並找到異常詳細信息。 – 2012-02-29 16:19:29