我有一个带有UI、服务层和存储库层的 ASP.NET Web 窗体应用程序。
我的服务层中的一些方法与 Web 服务通信,因此我想将对 Web 方法的所有调用包装在一个Try-Catch-Finally
构造中。
假设我的服务层中有以下方法:
public RegistrationDetails GetRegistrationDetails(int userId)
public bool RegisterUser(UserData myUserData)
WhereRegistrationDetails
和myUserData
是对象类型(类)。
我关心的是:如果我创建一个Try-Catch-Finally
以在上面列出的方法的实现中包装对 Web 服务的调用,如果出现异常,如果返回类型是RegistrationDetails
和,我如何返回消息字符串bool
?
我正在考虑为每个返回对象添加一个属性,但我不知道这是否是一个好的解决方案。例如,而不是使用bool
:
public class RegisterResponse
{
public bool isRegistered { get; set; }
public string ExceptionMessage { get; set; }
}
public RegisterResponse RegisterUser(UserData myUserData)
然后检查 ExceptionMessage 是否为null
或String.Empty
。这是一个好方法吗?谢谢