2012-02-29 13 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は実際のエラーを返します。

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

あなたはこのようにトレースをオンにすることができます:あなたはそこに例外の詳細を表示できるように、このようにあなたの行動にserviceDebugセクションを追加し、クライアントに例外を送信するために

+0

コードを追加しましたが、何らかの理由で同じエラーが返されます。 –

+0

@ WildGoat configセクションを投稿できますか?エンドポイントでサービスの動作を設定していますか? –

1

<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

コードを追加しましたが、何らかの理由で同じエラーが返されます。 –

+0

さて、まだエラーが発生しますが、例外情報が含まれていると、クライアントをデバッグモードでロードして例外の詳細を見つけることができます。 –