故障合同有助于定义特定服务所期望的错误类型.在客户端,这允许应用程序根据故障类型捕获和管理条件.
例如(从这里获取),您可以获得具有多种类型的故障合同的服务:
[ServiceContract]
interface ICalculator
{
[OperationContract]
[FaultContract(typeof(InvalidOperationException))]
[FaultContract(typeof(string))]
double Add(double number1,double number2);
[OperationContract]
[FaultContract(typeof(DivideByZeroException))]
double Divide(double number1,double number2);
//More methods
}
Run Code Online (Sandbox Code Playgroud)
在客户端,你会有这样的:
CalculatorClient proxy = new CalculatorClient( );
try
{
proxy.Divide(2,0);
proxy.Close( );
}
catch(FaultException<DivideByZeroException> exception)
{...}
catch(CommunicationException exception)
{...}
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助.
归档时间: |
|
查看次数: |
3391 次 |
最近记录: |