c# – 抛出或不抛出ASP.NET Web API层使用的方法的异常

c# – 抛出或不抛出ASP.NET Web API层使用的方法的异常,第1张

概述假设我正在构建一个ASP.NET Web API应用程序,它具有以下结构: 从图中可以看出,ASP.NET Web API核心将与域服务层(例如,具有诸如GetUsers,CreateUser等方法的MembershipService类)进行通信,并且我的服务类将与一个或多个存储库通信以处理这些行动. 很明显,服务 *** 作(例如MembershipService.CreateUser方法)会因为多种原 假设我正在构建一个ASP.NET Web API应用程序,它具有以下结构:

从图中可以看出,ASP.NET Web API核心将与域服务层(例如,具有诸如GetUsers,createuser等方法的MembershipService类)进行通信,并且我的服务类将与一个或多个存储库通信以处理这些行动.

很明显,服务 *** 作(例如MembershipService.createuser方法)会因为多种原因(未满足的条件,存储库抛出的异常等)而失败,这就是我怀疑的地方.

您认为服务类应该处理异常并返回某种结果对象,如下所示:

public class OperationResult {    public OperationResult(bool isSuccess) : this(isSuccess) {        IsSuccess = isSuccess;    }    public OperationResult(bool isSuccess,Exception exception) : this(isSuccess) {        Exception = exception;    }    public bool IsSuccess { get; private set; }    public Exception IsSuccess { get; private set; }}public class OperationResult<TEntity> : OperationResult {    public OperationResult(bool isSuccess)         : base(isSuccess) { }    public OperationResult(bool isSuccess,Exception exception)         : base(isSuccess,exception) { }    public TEntity Entity { get; set; }}

或者您认为服务方法不应该像这样抽象异常并且应该直接或间接地抛出异常(创建一个特定于 *** 作的新的有意义的异常类型并将抛出的异常作为其内部异常)?

解决方法 在进行中时,请使用例外. 总结

以上是内存溢出为你收集整理的c# – 抛出或不抛出ASP.NET Web API层使用的方法的异常全部内容,希望文章能够帮你解决c# – 抛出或不抛出ASP.NET Web API层使用的方法的异常所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1251371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存