2010-11-30 11 views
17

私は以下の設定ファイルを持っており、プログラムで完全に設定されたサービスを持っているので、C#で相当するビットを探しています。どんなクラス/プロパティ/メソッドを探す必要がありますか?WCF IncludeExceptionDetailInFaultsはプログラムによって?

ありがとうございました。

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

答えて

31

あなたは、すべてのケースでこれを行うServiceBehaviorAttributeを使用する場合:

[ServiceBehavior(IncludeExceptionDetailInFaults=true)] 
    class MyServiceImplementation : IMyService 
    { 
     /// ... 
    } 

実行時に決定することが、唯一のいくつかのケースでそれをしたい場合は....

//////////////////////////////////// 
// Must include these at the top of file 
using System.ServiceModel; 
using System.ServiceModel.Description; 
// ... 

///////////////////////////////////////////////////////////// 
// Inside whichever function initializes the service host 
// 
_serviceHost = new ServiceHost(_service); 
if (IWantToIncludeExceptionDetails()) 
{ 
    var behavior = _serviceHost.Description.Behaviors.Find<ServiceDebugBehavior>(); 
    behavior.IncludeExceptionDetailInFaults = true; 
} 
_serviceHost.Open(); 
関連する問題