微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

在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层返回一个不太讨厌的错误结果的理想方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐