【发布时间】:2013-07-26 22:23:31
【问题描述】:
我正在编写 WCF 服务,想知道是否有推荐的模式从服务方法返回各种消息。
例如,如果我在我的服务中调用public User Login(string userName, string passWord) 方法,我希望它在他们是有效用户时返回我的用户对象。但是,如果详细信息不正确,或者帐户被禁用,我希望能够将该数据返回给客户。
我最初以为当这两种情况之一发生时我会抛出一个LogonFailureException(自定义异常类)。然后在客户端中,我可以捕获这种类型并根据需要进行处理。但是,如果我正在调试应用程序,它会在抛出异常时中断(即使我将其包装在 FaultException 中)。
我还可以创建一个 ServiceResponse 类,我的所有方法都将其用作返回类型 - 然后我可以在其中拥有一个“消息”集合,但这似乎可能违反直觉。我宁愿我的方法的返回类型只是我期望在正常情况下返回的类型。
那么,归根结底,是否存在处理从推荐的服务方法返回的消息的特定模式?
谢谢
【问题讨论】:
-
我认为
ServiceResponse类没有任何问题,它提供了一个错误属性供您评估。 -
我们在工作中使用了一个类似的系统,你是对的,它可以工作 - 但有时感觉它是围绕返回值的另一层抽象,但可能有更好、更有效的方式这样做。
标签: c# .net vb.net wcf response