我可以使用WCF服务生成SOAPException而不是FaultException吗?

我可以使用WCF服务生成SOAPException而不是FaultException吗?,wcf,soap,asmx,Wcf,Soap,Asmx,有没有一种方法可以获得需要与asmx客户端保持向后兼容性的WCF服务,从而将异常序列化为SOAPException,而不是FaultException或FaultException 我有一些无法升级的服务客户端,但我们正在将所有服务标准化为WCF。。。我们有模拟asmx soap/xml格式的服务,但我不知道如何改变WCF的故障行为。WCF既不生成SoapException也不生成FaultException。它会产生SOAP错误。客户端可以将故障转换为SoapException或FaultEx

有没有一种方法可以获得需要与asmx客户端保持向后兼容性的WCF服务,从而将异常序列化为SOAPException,而不是FaultException或FaultException


我有一些无法升级的服务客户端,但我们正在将所有服务标准化为WCF。。。我们有模拟asmx soap/xml格式的服务,但我不知道如何改变WCF的故障行为。

WCF既不生成
SoapException
也不生成
FaultException
。它会产生SOAP错误。客户端可以将故障转换为
SoapException
FaultException

如果客户机是旧式ASMX客户机,那么当它收到错误时,它将抛出
SoapException
。WCF客户端在接收到故障时将抛出一个
FaultException


底线是您不必更改任何内容。

您是否考虑过使用WCF扩展,并将您的通用故障异常转换为soap异常?我有一个客户端正在处理SoapException。但是我不想改变客户机,因为他们在处理soapexception的任何地方,然后我需要将其全部更改为FaultException。任何替代方案,以便我只使用相同的代码(以前有web服务,然后我将其更改为wcf),您将不必更改客户端代码。只需继续使用“添加Web引用”,就像您在服务是ASMX服务时所做的那样。记住,客户和服务是独立的。非常感谢。我要试试这个。我正在使用nettcp绑定,希望它不会产生任何问题,因为web需要http绑定?此外,我还需要还原服务器代码以仅引发soapexception。因此,我尝试添加web引用,但参数被额外添加到异步方法中。以前它的System.IAsyncResult asyncResult现在只添加了System.IAsyncResult asyncResult,out int CreateABCResult,out bool createAbcresultSpecifiedy如果使用
nettcp
,则无法获取
SoapException
。如果使用ASMX客户端(添加Web引用),则只能获得
SoapException
,如果使用nettcp,则不能使用ASMX客户端。ASMX只支持HTTP