Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WCF IncludeExceptionDetailInFaults programmatically?

Tags:

I have the following in a config file, and I am trying to find the equivalent bits in C#, as I have a service that is configured fully programmatically. What class/property/method should I look for?

Thanks.

<behaviors>     <serviceBehaviors>         <behavior name="ServiceGatewayBehavior">             <serviceMetadata httpGetEnabled="true"/>             <serviceDebug includeExceptionDetailInFaults="true"/>         </behavior>     </serviceBehaviors> </behaviors> 
like image 479
Snowy Avatar asked Nov 30 '10 23:11

Snowy


1 Answers

If you want to do this in all cases, use the ServiceBehaviorAttribute:

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

If you want to do it only in some cases, to be determined at runtime....

//////////////////////////////////// // 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(); 
like image 105
Andrew Shepherd Avatar answered Sep 22 '22 05:09

Andrew Shepherd