<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WCF 常見邏輯和代碼 1.錯誤處理和配置

      這些東西都很多人寫過了.....

      放在這里只是做一個備份,要用的時候找的到 - -#

      需要的人直接拷貝代碼就可以運行了

      注意只能運行在WCF 4.0中...因為為了少些點.....

      以下是c#代碼用于定義錯誤處理

      View Code
          public class ErrorHandler : IErrorHandler
      {
      #if DEBUG
      public static ConcurrentDictionary<DateTime, Exception> ExceptionList = new ConcurrentDictionary<DateTime, Exception>();
      #endif

      private static WebBodyFormatMessageProperty bodyFormat = new WebBodyFormatMessageProperty(WebContentFormat.Xml);
      private static HttpResponseMessageProperty responseMessage = new HttpResponseMessageProperty() { StatusCode = System.Net.HttpStatusCode.InternalServerError };
      public bool HandleError(Exception error)
      {
      return true;
      }

      public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
      {
      #if DEBUG
      ExceptionList[DateTime.Now] = error;//just debug, don't care time conflict
      #endif
      Logger.Current.WriteEntry(error);

      var exception = error as OperationException;//custom exception type
      if (exception != null)
      {
      //要修改返回內容注意這里
      fault = Message.CreateMessage(version, "", new OperationResult(Convert.ToInt32(exception.ErrorCode), exception.ToString()), new DataContractJsonSerializer(typeof(OperationResult)));
      }
      else
      {
      fault = Message.CreateMessage(version, "", new OperationResult(-1, error.ToString()), new DataContractJsonSerializer(typeof(OperationResult)));
      }
      //要修改返回類型注意這里
      fault.Properties.Add(WebBodyFormatMessageProperty.Name, bodyFormat);//use xml format
      fault.Properties.Add(HttpResponseMessageProperty.Name, responseMessage);//error code
      }
      }

      public class ErrorHandlerExtension : BehaviorExtensionElement, IServiceBehavior
      {
      public override Type BehaviorType
      {
      get { return GetType(); }
      }

      protected override object CreateBehavior()
      {
      return this;
      }

      private IErrorHandler GetInstance()
      {
      return new ErrorHandler();
      }

      void IServiceBehavior.AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection<ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters)
      {
      }

      void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
      {
      IErrorHandler errorHandlerInstance = GetInstance();
      foreach (ChannelDispatcher dispatcher in serviceHostBase.ChannelDispatchers)
      {
      dispatcher.ErrorHandlers.Add(errorHandlerInstance);
      }
      }

      void IServiceBehavior.Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
      {

      }
      }

      /// <summary>
      /// just wrap errorcode and errormessage
      /// </summary>
      public class OperationException : System.ApplicationException
      {
      public ErrorCode ErrorCode { get; set; }
      public OperationException(ErrorCode errorCode)
      {
      this.ErrorCode = errorCode;
      }
      public OperationException(ErrorCode errorCode, string message)
      : base(message)
      {
      this.ErrorCode = errorCode;
      }
      }

      以下是在web.config中的配置

          <extensions>
      <behaviorExtensions>
      <add name="errorHandler" type="{命名空間}.ValidationBehaviorSection, {dll名字}"/>
      </behaviorExtensions>
      </extensions>
      <behaviors>
      <serviceBehaviors>
      <behavior>
      <errorHandler/>
      </behavior>
      </serviceBehaviors>
      </behaviors>

      要注意的方法就是ProvideFault 用于處理異常 (在沒有執行完這個方法前不返回)

      HandleError方法不阻止消息返回..用來寫日志會好點

      posted on 2011-10-07 10:23  聽說讀寫  閱讀(534)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 免费国产一级 片内射老| 福利一区二区不卡国产| 可以在线观看的亚洲视频| 国产免费人成网站在线播放 | 日本熟妇浓毛| 女同另类激情在线三区| 久久综合97丁香色香蕉| 亚洲精品不卡av在线播放| 精品婷婷色一区二区三区| 92自拍视频爽啪在线观看| 国产亚洲欧美日韩在线一区二区三| 南澳县| 精品国产熟女一区二区三区| 中文字幕国产精品资源| 性色av蜜臀av色欲av| 日韩午夜福利视频在线观看| 国产综合久久99久久| 国产精品涩涩涩视频网站| 国产成人欧美一区二区三区在线| av无码精品一区二区乱子| 亚洲成色精品一二三区| 国产午夜精品视频在线播放| 亚洲av无码精品蜜桃| 日本久久高清一区二区三区毛片| 亚洲成av人片天堂网| 日本免费精品| 国产日韩入口一区二区| 精品国产粉嫩一区二区三区| 天天躁夜夜躁av天天爽| 日本精品成人一区二区三区视频| 最近中文字幕完整版| 人妻蜜臀久久av不卡| 亚洲天天堂天堂激情性色| 人妻精品久久久无码区色视 | 俄罗斯美女真人性做爰| 午夜毛片不卡免费观看视频| 久久亚洲精品无码播放| 成人精品网一区二区三区| 国产成人精品午夜二三区| 久久99精品国产99久久6尤物| 熟女亚洲综合精品伊人久久|