gpt4 book ai didi

WCF - 抛出异常或 FaultException?

转载 作者:行者123 更新时间:2023-12-04 09:21:15 28 4
gpt4 key购买 nike

什么更有效?抛出异常或抛出错误……我认为有两种情况:

  • 发生异常并被捕获,是否抛出现有的 Exception或新建 FaultException然后扔那个?
  • 您自己的逻辑(例如用户名不能为空)需要将错误作为 Exception 或 FaultException 抛出。你选哪个?

  • 基本上,哪种方式是最佳实践方式?我问是因为我记得在某处读过关于 WCF 装箱或拆箱异常的文章,它会消耗额外的资源等等……所以我猜也是,哪种方法更有效?

    最佳答案

    从 WSDL Contract Perspective 来看,每个操作最多可以有一个响应。但是,您可以定义多个故障契约,它基本上告诉客户端“期望由 DataContractX 定义的响应,或由 FaultContractYFaultContractZ 定义的故障响应。”

    使用 FaultExceptions 可以让您更好地控制 WSDL 的表示方式(或针对已定义的 WSDL 编写合规服务)。

    如果您真正尝试实现互操作性并充分利用 wsdl 和soap 来实现这一点,您将需要使用FaultExceptions。如果您仅在 .NET 交互中使用 WCF,您可以使用异常或故障异常,我认为性能差异不会很大(通过网络进行通信比 WCF 运行时将异常包装到泛型中要重要几个数量级线路传输故障)。

    关于WCF - 抛出异常或 FaultException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061998/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com