2010-11-30 2 views
17

구성 파일에 다음과 같은 내용이 있는데 프로그래밍 방식으로 완전히 구성된 서비스가 있으므로 C#에서 해당 비트를 찾으려고합니다. 어떤 클래스/속성/메소드를 찾아야합니까?WCF IncludeExceptionDetailInFaults 프로그래밍 방식으로?

감사합니다.

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

런타임에 결정되는, 일부 경우에 그것을하려면 ....

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

답변

31

당신이 모든 경우에이 작업을 수행하려면

은을 ServiceBehaviorAttribute 사용
//////////////////////////////////// 
// 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();