从登录wcf服务返回各种结果的最佳方法

从登录wcf服务返回各种结果的最佳方法,wcf,exception-handling,Wcf,Exception Handling,给出一个简单的身份验证方法,该方法接收用户名和密码并返回令牌。如果成功,我需要能够应对各种失败情况,包括无效凭据、锁定帐户、等待验证等 最好的办法是什么 我在考虑以下两种选择中的任何一种,但我愿意接受任何其他选择: (1) 使用枚举和令牌更改对对象的响应。不过,对于使用这种方法进行版本控制有点担心 (2) 每个故障案例的故障合同。但是,不确定这里的性能。只有当您希望在客户端返回更多详细信息/管理异常时,才应该使用FaultContract。一个例外(正如你所猜测的名字本身)是你无法预见的事情,或

给出一个简单的身份验证方法,该方法接收用户名和密码并返回令牌。如果成功,我需要能够应对各种失败情况,包括无效凭据、锁定帐户、等待验证等

最好的办法是什么

我在考虑以下两种选择中的任何一种,但我愿意接受任何其他选择:

(1) 使用枚举和令牌更改对对象的响应。不过,对于使用这种方法进行版本控制有点担心


(2) 每个故障案例的故障合同。但是,不确定这里的性能。

只有当您希望在客户端返回更多详细信息/管理异常时,才应该使用FaultContract。一个例外(正如你所猜测的名字本身)是你无法预见的事情,或者更确切地说是违背你意愿发生的事情:-) 在您的情况下,您已经知道登录可能被锁定、无效等。我认为您应该返回一个枚举数(或将其封装到一个对象中),以提供有关的更多信息,而不是引发异常以强制使用故障契约 我希望这是有道理的

string Authenticate(string username, string password);