Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 处理DDD风格的ASP.NETMVC2 Web应用程序中的错误_Asp.net Mvc 2_Error Handling_Domain Driven Design - Fatal编程技术网

Asp.net mvc 2 处理DDD风格的ASP.NETMVC2 Web应用程序中的错误

Asp.net mvc 2 处理DDD风格的ASP.NETMVC2 Web应用程序中的错误,asp.net-mvc-2,error-handling,domain-driven-design,Asp.net Mvc 2,Error Handling,Domain Driven Design,关于DDD设计的ASP.NET MVC2 web应用程序中的错误处理,“最佳实践”是什么?例如,让我们看看web应用程序最常见的方面,即登录: 用户控制器:显然是坐标 一些域对象最终将被删除 登录或拒绝用户,以及 重定向到web的其他部分 接口。就我而言,它是 对不同用户任务的几个调用 IsLoggedIn()或LogIn()等方法, 再加上一些动作 用户任务:拥有工作的内容 协调相关领域 对象服务,如 SecurityService与下域 对象,例如调用 SecurityService.Va

关于DDD设计的ASP.NET MVC2 web应用程序中的错误处理,“最佳实践”是什么?例如,让我们看看web应用程序最常见的方面,即登录:

  • 用户控制器:显然是坐标 一些域对象最终将被删除 登录或拒绝用户,以及 重定向到web的其他部分 接口。就我而言,它是 对不同用户任务的几个调用 IsLoggedIn()或LogIn()等方法, 再加上一些动作
  • 用户任务:拥有工作的内容 协调相关领域 对象服务,如 SecurityService与下域 对象,例如调用 SecurityService.ValidateUser()或 正在检查User.IsUserInactive()
  • 安全服务:显然 协调 认证/授权 服务。类似于 成员资格提供程序,不带 超重行李
  • 用户:表示用户。不 贫血,因为它有各种 特定于用户的方法,例如 用于检查 IsDeleted、IsLockedOut或如果用户 在FromDt和ThruDt之间

您如何冒充错误,使其具有信息性而不敌视用户?您是否会在代码中添加异常,然后在Application_Error()中处理所有异常?例如,ValidateUser()应该在密码为空时抛出ArgumentNullException(),在密码不正确时抛出AuthenticationException(),还是返回bool=false?如果是后者,您如何告知用户导致验证失败的原因

我假设您正在使用基于我看到的命名约定的WhoCanHelpMe/S#arp架构?如果是这样的话,我强烈建议看一看哪一个演示了更干净的应用程序服务层的实现。查看从服务层返回的
ActionConfirmation
结果;我们发现,这是从Tasks层返回一个不那么严重的错误结果的理想方法