zoukankan      html  css  js  c++  java
  • WCF学习笔记 cow

    本文是对园子中Artech的WCF异常处理文章的学习笔记:原文网址

    http://www.cnblogs.com/artech/archive/2009/10/21/1587716.html

    基本异常处理模式:

    (1)异常开关:IncludeExceptionDetailInFaults。

      使用方式:配置的方式和应用自定义特性(Custom Attribute)的方式。

      配置方式:

       1: <?xml version="1.0" encoding="utf-8" ?>
       2: <configuration>  
       3:     <system.serviceModel> 
       4:         <behaviors>
       5:             <serviceBehaviors>
       6:                 <behavior name="serviceDebuBehavior">
       7:                     <serviceDebug includeExceptionDetailInFaults="true" />
       8:                 </behavior>
       9:             </serviceBehaviors>
      10:         </behaviors>
      11:         <services>
      12:             <service behaviorConfiguration="serviceDebuBehavior" name="Artech.WcfServices.Services.CalculatorService">
      13:                 <endpoint address="http://127.0.0.1:3721/calculatorservice" binding="wsHttpBinding"                    contract="Artech.WcfServices.Contracts.ICalculator" />
      14:             </service>
      15:         </services>
      16: </system.serviceModel>
      17: </configuration>


    自定义特性的

       1: using Artech.WcfServices.Contracts;
       2: using System.ServiceModel;
       3: namespace Artech.WcfServices.Services
       4: {
       5:     [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
       6:     public class CalculatorService : ICalculator
       7:     {
       8:         //省略服务成员
       9: }
      10: }


    FaultException<TDetail>与FaultException的关系

       1: [Serializable]
       2: public class FaultException<TDetail> : FaultException
       3: {    
       4:      // 其他成员
       5:     public FaultException(TDetail detail);  
       6:     public TDetail Detail { get; }
       7: }

    System.ServiceModel.ExceptionDetail与System.Exception设计类似

    1: [DataContract]
       2: public class ExceptionDetail
       3: {
       4:     // 其他成员
       5:     public ExceptionDetail(Exception exception);
       6:  
       7:     [DataMember]
       8:     public string HelpLink { get; private set; }
       9:     [DataMember]
      10:     public ExceptionDetail InnerException { get; private set; }
      11:     [DataMember]
      12:     public string Message { get; private set; }
      13:     [DataMember]
      14:     public string StackTrace { get; private set; }
      15:     [DataMember]
      16: public string Type { get; private set; }
      17: }
  • 相关阅读:
    玩转xss
    Anonim小白成长计划
    mssql注入与绕过
    了解mssql数据库
    2020年度学习规划
    access 注入
    bypasswaf 之报错注入
    bypasswaf之盲注
    sql注入常用函数与bypasswaf
    一篇关于数据库的另类操作
  • 原文地址:https://www.cnblogs.com/cowman/p/3003334.html
Copyright © 2011-2022 走看看