C# 如何在全局范围内使用WCF故障契约,而不必在操作级别进行指定?

C# 如何在全局范围内使用WCF故障契约,而不必在操作级别进行指定?,c#,.net,wcf,C#,.net,Wcf,我需要从WCF服务返回特定类型的故障,以便客户端可以捕获FaultException。为了做到这一点,据我所知,唯一的出路是在操作级别应用FaultContract(typeof(MyClass))。在全球层面上,还有其他方法可以做到这一点吗?我可以将此合同添加到所有服务中的所有操作中的一个位置?不幸的是,您需要在每个操作中添加它,但是,您可以使用这样的工具在编译时重新编写代码,这样您就可以创建一个属性,将其放在协定中,并让PostSharp在每个OperationContract上添加正确的F

我需要从WCF服务返回特定类型的故障,以便客户端可以捕获
FaultException
。为了做到这一点,据我所知,唯一的出路是在操作级别应用
FaultContract(typeof(MyClass))
。在全球层面上,还有其他方法可以做到这一点吗?我可以将此合同添加到所有服务中的所有操作中的一个位置?

不幸的是,您需要在每个操作中添加它,但是,您可以使用这样的工具在编译时重新编写代码,这样您就可以创建一个属性,将其放在协定中,并让PostSharp在每个
OperationContract
上添加正确的
FaultContract
属性。是的……我希望我们可以全局定义服务级别的默认FaultException,然后覆盖特定消息。我正在进行一个WSDL第一个项目,WCF WSDLs看起来非常棒

您可以投票支持添加此功能:可能重复有趣的事实:两者都有错误的标记答案:-)