Exception類

using System;

using System.Collections.Generic;

using System.Linq;using System.Text;

using System.ServiceModel;

using System.ServiceModel.Description;

using System.ServiceModel.Dispatcher;

namespace WCF.ServiceLib.Exception

{/**//// <summary>/// Hello類/// </summary>

public class Hello : IHello, IDisposable, IServiceBehavior

{/**//// <summary>/// 拋出Exception異常/// </summary>

       public void HelloException()

           {throw new System.Exception("拋出Exception異常");}/**//// <summary>/// 拋出FaultException異常/// </summary>

     public void HelloFaultException()

          {throw new FaultException("拋出FaultException異常", new FaultCode("服務"));}/**//// <summary>/// 拋出FaultException<T>異常/// </summary>

     public void HelloFaultExceptionGeneric()

         {throw new FaultException<FaultMessage>(new FaultMessage { Message = "拋出FaultException<T>異常", ErrorCode = -1 }, "爲了測試FaultException<T>用的");}/**//// <summary>/// IErrorHandler處理異常/// </summary>

       public void HelloIErrorHandler()

          {throw new System.IO.IOException("拋出異常,用IErrorHandler處理");}/**//// <summary>/// 實現IDisposable接口的Dispose()方法/// </summary>

       public void Dispose(){}

     /**//// <summary>/// 爲契約增加自定義綁定參數/// </summary>/// <param name="serviceDescription">服務描述</param>/// <param name="serviceHostBase">服務宿主</param>/// <param name="endpoints">服務端點</param>/// <param name="bindingParameters">需要增加的自定義綁定參數</param>

public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, System.Collections.ObjectModel.Collection<ServiceEndpoint> endpoints, System.ServiceModel.Channels.BindingParameterCollection bindingParameters){}/**//// <summary>/// runtime時修改屬性值或增加自定義擴展對象/// </summary>/// <param name="serviceDescription">服務描述</param>/// <param name="serviceHostBase">服務宿主</param>

       public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)

         {IErrorHandler handler = new FaultErrorHandler();

          foreach (ChannelDispatcher dispatcher in serviceHostBase.ChannelDispatchers)

                  {// 增加錯誤處理器 dispatcher.ErrorHandlers.Add(handler);

           }

     }/**//// <summary>/// 檢查服務描述和服務宿主,以確認服務可以成功運行/// </summary>/// <param name="serviceDescription">服務描述</param>/// <param name="serviceHostBase">服務宿主</param>

       public void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase){

}}}

發佈了9 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章