IncludeExceptionDetailInFaults

IncludeExceptionDetailInFaults

如何在不使用App.Config的情况下在代码中设置IncludeExceptionDetailInFaults?

最佳答案

是的,可以确定-在打开服务主机之前,在服务器端。但是,这将要求您自托管WCF服务-在IIS托管方案中将不起作用:

ServiceHost host = new ServiceHost(typeof(MyWCFService));

ServiceDebugBehavior debug = host.Description.Behaviors.Find<ServiceDebugBehavior>();

// if not found - add behavior with setting turned on
if (debug == null)
{
    host.Description.Behaviors.Add(
         new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true });
}
else
{
    // make sure setting is turned ON
    if (!debug.IncludeExceptionDetailInFaults)
    {
        debug.IncludeExceptionDetailInFaults = true;
    }
}

host.Open();

如果您需要在IIS托管中执行相同的操作,则必须创建自己的自定义MyServiceHost后代和将实例化此类自定义服务主机的合适MyServiceHostFactory,并在* .svc文件中引用此自定义服务主机工厂。

关于c# - 在WCF的代码中将IncludeExceptionDetailInFaults设置为true,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2483178/

10-12 02:51