加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-2 – 处理DDD风格的ASP.Net MVC2 Web应用程序中的错

发布时间:2020-12-16 07:39:07 所属栏目:asp.Net 来源:网络整理
导读:在DDD设计的ASP.NET MVC2 Web应用程序中,有关错误处理的“最佳实践”是什么?例如,让我们采用Web应用程序最常见的方面,即登录: UserController:显然是坐标 一些域对象最终 登录或拒绝用户,以及 重定向到网络的其他部分 根据需要界面.在我的情况下,它是 一
在DDD设计的ASP.NET MVC2 Web应用程序中,有关错误处理的“最佳实践”是什么?例如,让我们采用Web应用程序最常见的方面,即登录:

> UserController:显然是坐标
一些域对象最终
登录或拒绝用户,以及
重定向到网络的其他部分
根据需要界面.在我的情况下,它是
一些调用不同的UserTasks
像IsLoggedIn()或LogIn()这样的方法,
加上一些RedirectToAction.
> UserTasks:有工作的肉
协调相关领域
对象服务,比如
SecurityService和较低域
对象,例如调用
SecurityService.ValidateUser()或
检查User.IsUserInactive().
> SecurityService:显然
坐标
认证/授权
服务.类似于
MembershipProvider,没有
超重行李.
> User:表示用户.不
贫血,因为它有各种各样的
用户特定的方法,如
IsuUserInactive()检查
IsDeleted,IsLockedOut或者如果是用户
介于FromDt和ThruDt之间.

你如何冒泡错误,使他们提供信息,而不是对用户充满敌意?您是否使用异常丢弃代码然后只在Application_Error()中处理它们?例如,当密码为空时,ValidateUser()抛出一个ArgumentNullException(),当密码不正确时,抛出一个AuthenticationException(),或者返回一个bool = false?如果是后者,您如何告知用户导致验证失败的原因?

解决方法

我假设您正在使用基于我看到的命名约定的WhoCanHelpMe / S#arp架构?如果是这样,我强烈建议您查看 this article,其中介绍了更清洁的应用程序服务层的实现.看一下从服务层返回的ActionConfirmation结果;我们发现这是从Tasks层返回一个不太讨厌的错误结果的理想方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读