ABP文檔 - Mvc 控制器

文檔目錄html

 

本節內容:ajax

 

簡介api

ABP經過nuget包Abp.Web.Mvc集成到Asp.net Mvc 控制器。你能夠像往常那樣建立普通的Mvc控制器,依賴注入能夠對普通的Mvc控制器起做用,但你應當使你的控制繼承自AbpController,它提供了許多好處和更好的集成到ABP。異步

 

AbpController基類spa

這是一個簡單的繼承自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

 

其它htm

你能夠使用預先注入的AbpSessionEventBusPermissionManager、PermissionCheckerSettingManagerFeatureManager、FeatureCheckerLocalizationManagerLoggerCurrentUnitOfWork等基屬性。

 

過濾

異常處理和結果包裝

全部的異常都被自動處理、日誌並返回一個適應的響應給客戶端,更多信息查看異常處理

若是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>)。

相關文章
相關標籤/搜索