【发布时间】:2015-04-20 14:17:45
【问题描述】:
在我们的应用程序中,所有数据合约都有一个父级 - OperationResponse,而这个OperationResponse 包含枚举(属性Result 中的枚举类型OperationState),它代表调用结果(Ok,InvalidParams,错误)。
如何在异常后覆盖 WCF 行为 - 不返回故障状态,但返回经典消息 OperationResponse 在我的情况下,但属性 Result = OperationState.Error?
编辑: 我想,我走对了,我需要实现 IErrorHandler,但现在我迷路了,因为我不知道如何将错误消息设置为传出的错误消息...
public bool HandleError(Exception error)
{
// log error
return true; // we catch error and provide our custom message.
}
public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
{
// create result message
var message = new OperationResponse
{
Result = OperationState.Error
};
// ok how to return message into ref fault?
}
Edit2: 似乎没有解决方案是无法破解的问题...我只发现了没有解决方案的相同问题,例如this thread... :(
【问题讨论】:
标签: c# .net wcf exception-handling wcf-faults