什么更有效?抛出异常或抛出错误……我认为有两种情况:
Exception
或新建 FaultException
然后扔那个? 基本上,哪种方式是最佳实践方式?我问是因为我记得在某处读过关于 WCF 装箱或拆箱异常的文章,它会消耗额外的资源等等……所以我猜也是,哪种方法更有效?
最佳答案
从 WSDL Contract Perspective 来看,每个操作最多可以有一个响应。但是,您可以定义多个故障契约,它基本上告诉客户端“期望由 DataContractX
定义的响应,或由 FaultContractY
或 FaultContractZ
定义的故障响应。”
使用 FaultExceptions 可以让您更好地控制 WSDL 的表示方式(或针对已定义的 WSDL 编写合规服务)。
如果您真正尝试实现互操作性并充分利用 wsdl 和soap 来实现这一点,您将需要使用FaultExceptions。如果您仅在 .NET 交互中使用 WCF,您可以使用异常或故障异常,我认为性能差异不会很大(通过网络进行通信比 WCF 运行时将异常包装到泛型中要重要几个数量级线路传输故障)。
关于WCF - 抛出异常或 FaultException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061998/