文档目录html
本节内容:ajax
ABP经过nuget包Abp.Web.Mvc集成到Asp.net Mvc 控制器。你能够像往常那样建立普通的Mvc控制器,依赖注入能够对普通的Mvc控制器起做用,但你应当使你的控制继承自AbpController,它提供了许多好处和更好的集成到ABP。异步
这是一个简单的继承自AbpController的控制器:.net
public class HomeController : AbpController { public ActionResult Index() { return View(); } }
ABP定义了L方法,使本地化更加容易,例如:code
public class HomeController : AbpController { public HomeController() { LocalizationSourceName = "MySourceName"; } public ActionResult Index() { var helloWorldText = L("HelloWorld"); return View(); } }
要先设置LocalizationSourceName,才能让L方法正常工做,你能够在你的控制器基类里设置,这样就不用为每一个控制器重复设置。orm
你能够使用预先注入的AbpSession、EventBus、PermissionManager、PermissionChecker、SettingManager、FeatureManager、FeatureChecker、LocalizationManager、Logger、CurrentUnitOfWork等基属性。
全部的异常都被自动处理、日志并返回一个适应的响应给客户端,更多信息查看异常处理。
若是Action的返回类型是JsonResult(或异步的Task<JsonResult>),ABP也会默认地去包装这个结果。
你能够经过给控制器或Action使用WrapResult和DontWrapResult特性来修改异常处理和结果包装,也能够在启动配置(using Configuration.Modules.AbpMvc()...)进行全局设置。更多信息查看ajax文档。
AbpMvcAuditFilter用来集成到审计日志系统,它在默认状况下记录全部对全部Action请求(若是审计没有被禁用),你能够用Audited和DisableAuditing特性控制Action和控制器的审计日志。
AbpMvcValidationFilter自动检查ModelState.IsValid并在检测到非法时阻止Action执行。实现输入DTO的验证在验证文档里进行了描述。
你能够为你的api控制器或Action使用AbpApiAuthorize特性,阻止未受权用户访问它们,例如:
public class HomeController : AbpController { [AbpMvcAuthorize("MyPermissionName")] public ActionResult Index() { return View(); } }
你能够为Action或控制器定义AllowAnonymous特性,废止认证/受权。AbpApiController也定义了一个在定义里检查许可的快捷方法IsGranted。
更多信息查看受权文档。
AbpMvcUowFilter用来集成到工做单元系统,在一个Action执行前自动开始一个工做单元,并在Action执行结束后完成工做单元(若是没有异常抛出)。
你可为一个Action使用UnitOfWork特性,控制它的工做单元行为,你也能够在启动配置里为全部Action修改默认的工做单元特性。
AbpAntiForgeryMvcFilter自动保护Mvc的Action,阻止来自CSRF/XSRF的POST、PUT和DELETE请求攻击。更多信息查看CSRF文档。
AbpMvcDateTimeBinder用来标准化经过Clock.Normalize方法输入的DateTime(和Nullable<DateTime>)。