在DDD设计的ASP.NET MVC2 Web应用程序中,有关错误处理的“最佳实践”是什么?例如,让我们采用Web应用程序最常见的方面,登录:
你如何冒出错误信息,以便提供信息并且不会对用户产生敌意?您是否使用异常丢弃代码然后只在Application_Error()中处理它们?例如,当密码为空时,ValidateUser()抛出一个ArgumentNullException(),当密码不正确时,抛出一个AuthenticationException(),或者返回一个bool = false?如果是后者,您如何告知用户导致验证失败的原因?
答案 0 :(得分:0)
我假设您正在使用基于我看到的命名约定的WhoCanHelpMe / S#arp架构?如果是这样,我强烈建议您查看this article,其中介绍了更清洁的应用程序服务层的实现。查看从服务层返回的ActionConfirmation
结果;我们发现这是从Tasks层返回一个不太讨厌的错误结果的理想方法。