zoukankan      html  css  js  c++  java
  • ABP官方文档翻译 6.1.1 MVC控制器

    ASP.NET MVC控制器

    介绍

      ABP通过Abp.Web.Mvc nuget包集成到了ASP.NET MVC Controllers。你可以像往常一样创建MVC控制器。依赖注入属性可以用于通常的MVC控制器。但是你应该继承AbpController,它提供了一些好处并且能够和ABP更好的集成。

    AbpController基类

      这是一个继承AbpController的简单控制器:

    public class HomeController : AbpController
    {
        public ActionResult Index()
        {
            return View();
        }
    }
        

    本地化

      AbpController定义了L方法简化本地化。示例:

    public class HomeController : AbpController
    {
        public HomeController()
        {
            LocalizationSourceName = "MySourceName";
        }
    
        public ActionResult Index()
        {
            var helloWorldText = L("HelloWorld");
    
            return View();
        }
    }

      你需要设置LocalizationSourceName才能使用L方法。可以在你的控制器基类里设置,这样就不用为每一个控制器重复设置了。

    其他

      你也可以使用预注入的AbpSession,EventBus,PermissionManager,PermissionChecker,SettingManager,FeatureManager,FeatureChecker,LocalizationManager,Logger,CurrentUnitOfWork基础属性等。

    过滤器

    异常处理和结果包装

      所有的异常都是自动处理、记录并给客户端返回一个合适的响应。参见异常处理文档了解更多。

      如果返回类型时JsonResult(或异步actions的Task<JsonResult>), ABP会默认包装action的结果。

      你可以通过为controllers或actions或从全局的启动配置使用WrapResultDontWrapResult特性来改变异常处理和包装。

    审计日志

      AbpMvcAuditFilter用来集成审计日志系统。它默认记录所有actions的所有请求(如果审计没有被禁用)。你可以为actions和controllers使用AuditedDisableAuditing特性来控制审计日志。

    验证

      AbpMvcValidationFilter自动检查ModelState.IsValid,如果action没通过验证则阻止其执行。输入DTO的验证实现参见校验文档

    授权

      你可以给controllers或actions使用AbpMvcAutorize特性来禁止未授权的用户使用你的controllers和actions。示例:

    public class HomeController : AbpController
    {
        [AbpMvcAuthorize("MyPermissionName")]
        public ActionResult Index()
        {
            return View();
        }
    }

      你可以为controllers和actions定义AllowAnonymous特性来废除验证/授权。AbpController定义了IsGranted方法作为检查权限的快捷方法。

      参见授权文档了解更多。

    工作单元

      AbpMvcUowFilter用来集成工作单元系统。它自动在action执行前可以使一个工作单元并在action结束后完成工作单元(如果没有异常抛出)。

      你可以使用UnitOfWork特性来控制action的UOW的行为。你也可以使用启动配置来更改所有actions的默认工作单元特性。

    防伪造

      AbpAntiForgeryMvcFilter用来自动保护MVC actions的POST、PUT和DELETE请求免受CSRF/XSRF的攻击。参见CSRF文档了解更多。

    模型绑定器

      AbpMvcDateTimeBinder用来格式化DateTime(和Nullable<DateTime>)输入,它使用Clock.Normalize方法。

    返回主目录

  • 相关阅读:
    Android简易注解View(java反射实现)
    android注解[Jake Wharton Butter Knife]
    Android渠道汇总
    SVN管理规范
    马上着手开发iOS应用程序一 todolist
    MVC记录
    OC中intValue要注意的地方
    将从数组中取到的字符串赋值给了UIImage导致的错误
    一个null引发的错误
    记录一些容易忘记的属性 -- UITabBarController
  • 原文地址:https://www.cnblogs.com/xajh/p/7056652.html
Copyright © 2011-2022 走看看