是否可以使用城堡windsor流畅的api打开IncludeExceptionDetailInFaults?

时间:2011-12-15 11:17:34

标签: castle-windsor servicebehavior wcffacility

我得到了这个例外。

  

由于内部错误,服务器无法处理请求。   有关错误的更多信息,请打开   IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute   或者来自服务器上的配置行为)   命令将异常信息发送回客户端,或打开   跟踪Microsoft .NET Framework 3.0 SDK文档和   检查服务器跟踪日志。

我想用流畅的api

添加此配置
<serviceBehaviors>
  <behavior name="metadataAndDebugEnabled">
    <serviceDebug
      includeExceptionDetailInFaults="true"
    />
    <serviceMetadata
      httpGetEnabled="true"
      httpGetUrl=""
    />
  </behavior>
</serviceBehaviors>

有办法吗?这是我目前的配置......

Container.Register(
    AllTypes.FromAssemblyNamed("My.Server.Services")
        .Pick().If(type => type.GetInterfaces().Any(i => i.IsDefined(typeof(ServiceContractAttribute), true)))
        .Configure(configurer => configurer.Named(configurer.Implementation.Name)
            .LifeStyle.PerWcfOperation()
            .AsWcfService(
                new DefaultServiceModel()
                    .AddEndpoints(
                        WcfEndpoint.BoundTo(new NetTcpBinding { PortSharingEnabled = true }).At(string.Format("net.tcp://localhost:6969/{0}", configurer.Implementation.Name)),
                        WcfEndpoint.BoundTo(new NetNamedPipeBinding()).At(string.Format("net.pipe://localhost/{0}", configurer.Implementation.Name)))
                    .PublishMetadata()
            )
        )
        .WithService.Select((type, baseTypes) => type.GetInterfaces().Where(i => i.IsDefined(typeof(ServiceContractAttribute), true))));

1 个答案:

答案 0 :(得分:1)

AFAIK您可以使用您对容器的特定选项注册IServiceBehavior实现,WCF集成工具将使用该实例。