una WCF IncludeExceptionDetailInFaults mediante programación?



que es wcf (1)

Tengo lo siguiente en un archivo de configuración, y estoy tratando de encontrar los bits equivalentes en C #, ya que tengo un servicio que está configurado completamente programáticamente. ¿Qué clase / propiedad / método debo buscar?

Gracias.

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

Si desea hacer esto en todos los casos, use el ServiceBehaviorAttribute :

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

Si desea hacerlo solo en algunos casos, se determinará en el tiempo de ejecución ...

////////////////////////////////////
// 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();