`

wcf - Debug to enable Server exception in Fault message

阅读更多

WCF will be able to send back the status of server and client erroneous condition in Fault messages. However, due to the security consideration, it is commonly disabled on the server side so that normally you are not able to view the server internal information direclty (suppose there are some critical messgaes in the server fault message)..

however, in debug mode, you want to expose the message to the client so that they can know what might go wrong...

You can do that either via the Service Configuration behavior or you may need to have to call in code to enable this behavior..


Enable ServiceDebugBehavior in code programmatically

 

            using (ServiceHost host = new ServiceHost(typeof(TabularPushService)))
            {
                host.AddServiceEndpoint(
                    typeof(ITabularPushService),
                    new NetTcpBinding(),
                    string.Format("net.tcp://127.0.0.1:{0}/TabularPushService", arguments.Port));
#if DEBUG

                ((ServiceDebugBehavior)host.Description.Behaviors[typeof(ServiceDebugBehavior)]).IncludeExceptionDetailInFaults = true;

#endif 
                //...
              }

 

Add the ServiceBehavior on ServiceContract parameter.

    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
    public class TabularPushService : ITabularPushService
    {
     // ...
    }

 

As you can see, you can decorate the service in question with the ServiceBehavior attribute, and then you can supply an value to indicate that IncludeExceptionDetailInFault in the message. 


Configure IncludeExceptionDetailInFault via config

In the Sercice endpoint configuraiotn, you can do this: 

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
  <system.serviceModel>

    <!-- include more detailed debug information
    code snippet from :  http://stackoverflow.com/questions/5076534/implementing-wcf-using-nettcp-protocol
    -->
    <behaviors>
      <serviceBehaviors>
        <behavior name="standard">
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    
       <!-- Port will be programmtically determined -->
      <!-- TabularPushService -->
      <service name="WcfPub.TabularPushService">
        <endpoint address="net.tcp://127.0.0.1:9999/TabularPushService" binding="netTcpBinding" contract="WcfPub.ITabularPushService" behaviorConfiguration="standard"/>
      </service>
    </services>
    
    
  </system.serviceModel>

</configuration>

 as you can see, the most important part to enable the behavior is the "behaviorConfiguration" attribute, which points to the name of the behavior configuration.

 

分享到:
评论

相关推荐

    WCF-MessageContract-XmlSerializable DEMO

    总结来说,`WCF-MessageContract-XmlSerializable DEMO`是一个关于如何在WCF服务中利用`MessageContract`自定义消息结构,以及如何通过`IXmlSerializable`实现更复杂XML序列化的实例。这两个特性结合使用,可以帮助...

    wpf-wcf-wf

    **WPF-WCF-WF整合开发实例** WPF(Windows Presentation Foundation)、WCF(Windows Communication Foundation)和WF(Windows Workflow Foundation)是微软.NET框架中三个关键的技术组件,它们各自负责不同的领域...

    WCF--DEMO_ GLD

    【标题】"WCF--DEMO_ GLD"是一个关于Windows Communication Foundation(WCF)的示例项目,其中“GLD”可能是项目或团队名称的一部分。这个DEMO着重展示了如何在GLD团队环境下创建和使用一个简单的WCF客户端代理类。...

    HelloWCF--我的WCF第一个练习

    "HelloWCF--我的WCF第一个练习"是一个针对初学者的教程,旨在帮助首次接触WCF的开发者快速理解并掌握这项技术的基础应用。 在WCF项目创建中,通常会经历以下步骤: 1. **定义服务合同**:首先,我们需要定义服务...

    WCF-Communication-data.rar_wcf

    在这个“WCF-Communication-data.rar_wcf”压缩包中,我们可以期待找到一系列关于WCF学习的资源。 WCF的核心概念包括服务、终结点、绑定和合同。服务是提供功能的实体,终结点是服务与外界交互的接口,绑定定义了...

    WCF--system.serviceModel配置属性说明[借鉴].pdf

    WCF--system.serviceModel配置属性说明 WCF(Windows Communication Foundation)是 Microsoft .NET Framework 中的一种技术,提供了一个统一的编程模型,用于构建分布式应用程序。WCF 配置文件是 WCF 应用程序的...

    WCF-CaterSystem.zip

    **WCF-CaterSystem.zip** 是一个包含使用Windows Communication Foundation(WCF)技术与WinForms集成的示例项目。这个项目旨在演示如何在Windows桌面应用(WinForm)中使用WCF服务来处理登录验证和获取人员信息。让...

    WCF-学习资料汇总

    Windows Communication Foundation(WCF)是微软.NET Framework的一部分,它提供了一种统一的编程模型来创建分布式应用程序,使得服务和客户端之间的通信变得更加简单。WCF旨在解决.NET Framework早期版本中的多种...

    Spring.net整合WCF-精简版

    **Spring.NET整合WCF在Windows Forms应用程序中的应用详解** 在.NET框架中,Spring.NET是一个流行的轻量级依赖注入(DI)容器,它提供了一种强大的方式来管理对象生命周期和实现松耦合。同时,Windows ...

    WCF - LWCF + LServiceHost

    WCF 项目应用连载[4] - 自定义配置 扩展ServiceHost - LServiceHost WCF 项目应用连载[5] - 自定义配置 扩展ChannelFactory&lt;T&gt; - LDuplex ———————————————————————————————— WCF...

    具有FaultException详细信息的WCF DataContract

    提供的文件列表中,"WCF-DataContract-with-FaultException-Details.pdf"可能是一个详细文档,解释了如何在WCF服务中使用数据合同和FaultException来传递错误信息。而"LogOn.aspx?rp=%2FKB%2FWCF%2FWCF_DataContract...

    WCF-JSCallService跨域请求windows服务

    总的来说,"WCF-JSCallService跨域请求windows服务"这个主题涵盖了.NET WCF服务的配置、跨域策略的实施以及JavaScript客户端的AJAX请求,这些都是Web开发中实现跨域数据交互的重要技术。通过理解和实践这些知识,...

    WCF-Winform项目

    开发工具VS2013 一个简单的Demo解决方案实现以下需求: 多台Host根据XML配置指定某一地址为主服务地址 客户端优先连接主服务Host,当主服务机断连自动检测并连接分服务机,当主服务机恢复服务,自动连回主服务机

    gRPC-for-WCF-Developers_grpc_asp.netC#_

    **gRPC for WCF Developers: 从Web服务到现代微服务架构的跃迁** 随着技术的不断演进,Web服务的开发方式也在发生变化。Windows Communication Foundation (WCF)曾是.NET框架中的主流服务开发工具,但随着时间推移...

    Silverlight+WCF-图片上传-SLUploadPICDemo.zi

    《Silverlight结合WCF实现图片上传下载技术详解》 在当今的Web开发中,交互性和用户体验成为了关键要素,Microsoft的Silverlight技术凭借其丰富的图形渲染和媒体播放能力,为开发者提供了构建富互联网应用(RIA)的...

    WCF server dll 文件

    WCF server dll 文件 WCF server dll 文件 WCF server dll 文件 WCF server dll 文件 WCF server dll 文件 WCF server dll 文件 WCF server dll 文件

    NHibernate+WCF项目实战(二)使用NHibernate实现数据访问并进行单元测试 - WCF - 拼吾爱程序人生.mht

    NHibernate+WCF项目实战

    WCF series courses - Introduction to WCF

    ### WCF系列课程——WCF简介 #### 一、WCF概述 WCF(Windows Communication Foundation)是微软推出的一种统一的编程模型和技术框架,用于构建跨平台的服务通信应用程序。它支持多种通信协议,并且能够与非WCF...

    WCF Debug Demo

    总结了一些自己在开发WCF时的debug一些经验。这些经验是外面没有的。

Global site tag (gtag.js) - Google Analytics