【IT168技术文档】
WCF(Windows Communication Foundation) - 异常处理:一般Exception的处理,FaultException和FaultException<T>的抛出和处理,使用IErrorHandler处理异常。
服务IHello.cs
using 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();
}
}
FaultMessage.cs
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; }
}
}