我有一个带有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。这是一个好方法吗?谢谢