ibm*_*123 2 .net c# asp.net wcf web-services
我有一个理论问题.我有一个WCF Web服务,需要与.NET客户端和iPhone应用程序进行通信.
在服务中我有很多方法,比如:
User Login(string email,string password); etc..
Run Code Online (Sandbox Code Playgroud)
如果成功,我希望该服务将用户返回给我.否则,我希望服务向我抛出一个自定义异常,如EmailNotFoundException或PasswordNotCorrectException.
我被告知这不是最好的方法,特别是因为iPhone客户端将使用此服务.
我是否应该更改所有方法以返回WrapperEntity包含的Object错误字符串/异常对象?
这对我很重要,因为有时我需要知道操作失败的原因.如果Login返回null我将知道操作失败但我不知道为什么.
您不应在WCF服务中使用例外来定期与服务的使用者通信.相反,请查看创建一个响应对象,其中包含您需要了解的有关操作的所有信息.
就像是:
public class LoginResponse
{
public User User { get; set; }
public string Message { get; set; }
public bool IsSuccessful
{
get { return User != null; }
}
}
Run Code Online (Sandbox Code Playgroud)
然后您的登录操作将类似于:
LoginResponse Login(string email, string password)
{ ... }
Run Code Online (Sandbox Code Playgroud)
这样,如果操作失败,您可以在响应中放入一条消息来解释原因.