【IT168技术文档】
WCF(Windows Communication Foundation) - 异常处理:一般Exception的处理,FaultException和FaultException<T>的抛出和处理,使用IErrorHandler处理异常。
服务IHello.cs
FaultMessage.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; namespace WCF.ServiceLib.Exception { /**//// <summary> /// IHello接口 /// </summary> [ServiceContract] public interface IHello { /**//// <summary> /// 抛出Exception异常 /// </summary> [OperationContract] void HelloException(); /**//// <summary> /// 抛出FaultException异常 /// </summary> [OperationContract] void HelloFaultException(); /**//// <summary> /// 抛出FaultException<T>异常 /// </summary> [OperationContract] [FaultContract(typeof(FaultMessage))] void HelloFaultExceptionGeneric(); /**//// <summary> /// IErrorHandler处理异常 /// </summary> [OperationContract] void HelloIErrorHandler(); } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.Runtime.Serialization; namespace WCF.ServiceLib.Exception { /**//// <summary> /// 错误信息实体类(用于错误契约FaultContract) /// </summary> [DataContract] public class FaultMessage { /**//// <summary> /// 错误信息 /// </summary> [DataMember] public string Message { get; set; } /**//// <summary> /// 错误代码 /// </summary> [DataMember] public int ErrorCode { get; set; } } }