1. ホーム
  2. c#

[解決済み] サーバーでIncludeExceptionDetailInFaults(ServiceBehaviorAttributeまたは<serviceDebug>構成動作のいずれか)をオンにします。

2022-02-16 09:53:48

質問事項

今まで完璧に動作していたWCFサービスがあるのですが、何かが変わってしまい、何が何だかわかりません。

このような例外が発生します。

System.ServiceModel.FaultException: サーバーは内部エラーのため、リクエストを処理することができませんでした。 エラーの詳細については、サーバーでIncludeExceptionDetailInFaults(ServiceBehaviorAttributeまたは構成動作のいずれか)をオンにして、例外情報をクライアントに送信するか、Microsoft .NET Framework 3.0 SDKドキュメントに従ってトレースをオンにしてサーバー トレース ログを調査してください。

私は.NET 4.0を実行しているので、これは紛らわしいことです。

をオンにするには、どこで IncludeExceptionDetailInFaults ? 探すのに苦労しています。

解決方法は?

を定義します。 動作 を使用します。 .config ファイルを作成します。

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="debug">
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    ...
  </system.serviceModel>
</configuration>

そして、このビヘイビアを次のような流れでサービスに適用してください。

<configuration>
  <system.serviceModel>
    ...
    <services>
      <service name="MyServiceName" behaviorConfiguration="debug" />
    </services>
  </system.serviceModel>
</configuration>

また、プログラムで設定することもできます。参照 この質問 .