gpt4 book ai didi

.net - Web 服务中错误处理的最佳实践

转载 作者:行者123 更新时间:2023-12-04 15:05:41 25 4
gpt4 key购买 nike

我现在正在玩弄 Web 服务,使用 .NET 框架(.asmx 文件,而不是 WCF)。我想知道告诉用户在方法调用中发生了某种业务错误的最佳实践是什么。

我的小测试用例:

我有需要向中央服务器注册的测量探针。每个探测器应该有一个不同的物理地址。要注册,他们应该调用(通过网络服务):

[WebMethod]
public void RegisterReadingStation(out Guid sessionId, Int64 physicalAddress)

现在,签名不是一成不变的——实际上,这就是我想要弄清楚的。 :)
如果它试图使用已经使用的物理地址注册自己,我需要以某种方式提醒探测器。

在我看来,我有几种可能性:
  • 抛出一个包含信息的 SoapException。但是,对 string::message 进行编程检查并不是那么容易。
  • 使用某种值类作为返回参数(或者更简单的枚举)。如果我这样做,我想我必须手动序列化/反序列化服务器/客户端上的类?

  • 对此有什么想法吗?

    最佳答案

    我从每个 WebMethod 返回一个名为 ResultSet 的小类,其中包含一个 int 错误代码和一个字符串错误消息。

    这使您可以轻松检查错误/成功,以及出现问题时的一些详细信息。

    如果 WebMethod 需要返回数据,我将从 ResultSet 继承以提供特定的 ResultSet 以包含数据。

    关于.net - Web 服务中错误处理的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686896/

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