欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET Core MVC中的控制器(Controller)介紹

 更新時(shí)間:2022年04月15日 07:31:54   作者:Ruby_Lu  
這篇文章介紹了ASP.NET Core MVC中的控制器(Controller),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

操作(action)和操作結(jié)果(action result)是 ASP.NET MVC 構(gòu)建應(yīng)用程序的一個(gè)基礎(chǔ)部分。
在 ASP.NET MVC 中,控制器用于定義和聚合一組操作。操作是控制器中處理傳入請(qǐng)求的一種方法??刂破魈峁┝艘环N邏輯方式,將相似的操作組織起來(lái),允許一些通用的規(guī)則(例如路由,緩存,授權(quán))使用共同的應(yīng)用。傳入的請(qǐng)求通過(guò) 路由 映射到操作。
ASP.NET Core MVC 中,控制器可以是任何以 “Controller” 結(jié)尾或繼承自以 “Controller” 結(jié)尾的可實(shí)例化類(lèi)。控制器應(yīng)該遵循顯示依賴(lài)原則,并通過(guò)使用依賴(lài)注入的構(gòu)造函數(shù)來(lái)獲取其操作需要的依賴(lài)項(xiàng)。
依照慣例,控制器類(lèi):

  • 位于根目錄下的 “Controller” 文件夾中。
  • 繼承自 Microsoft.AspNetCore.Mvc.Conrroller 

這兩個(gè)慣例不是必需的。

在 MVC 模式中,控制器負(fù)責(zé)初始化請(qǐng)求和實(shí)例化模型。通常來(lái)說(shuō),業(yè)務(wù)邏輯應(yīng)當(dāng)放在模型中執(zhí)行。
模型應(yīng)該是普通的 CLR 對(duì)象,而不是 DbContext 或數(shù)據(jù)庫(kù)相關(guān)類(lèi)型。
控制器獲取模型處理的結(jié)果(如果有的話(huà)),返回適當(dāng)?shù)囊晥D以及相關(guān)聯(lián)的視圖數(shù)據(jù)。
控制器是一個(gè) UI 級(jí)抽象。它的職責(zé)是確保傳入的請(qǐng)求數(shù)據(jù)有效,并選擇應(yīng)返回哪個(gè)視圖(或 API 的結(jié)果)。一般在控制器中不會(huì)直接包含數(shù)據(jù)訪問(wèn)或業(yè)務(wù)邏輯,而是委托服務(wù)來(lái)處理這些任務(wù)。

1.定義操作(Action)

控制器上的任何公共方法都是操作。操作上的參數(shù)使用模型綁定請(qǐng)求數(shù)據(jù)并驗(yàn)證。
接受參數(shù)的操作方法應(yīng)驗(yàn)證 ModelState.IsValid 屬性為 true。
操作方法應(yīng)包含將傳入請(qǐng)求映射到業(yè)務(wù)關(guān)注的邏輯。業(yè)務(wù)關(guān)注通常表示為控制器通過(guò)依賴(lài)注入訪問(wèn)的服務(wù)。然后,操作將業(yè)務(wù)操作的結(jié)果映射到應(yīng)用程序狀態(tài)。
操作可以返回任何內(nèi)容,但通常返回產(chǎn)生響應(yīng)的 IActionResult  的實(shí)例。操作方法負(fù)責(zé)選擇什么樣的響應(yīng),操作結(jié)果負(fù)責(zé)響應(yīng)。

2.控制器輔助方法

雖然不是必需的,一般從 Controller 基類(lèi)繼承自己的控制器。從而得到能訪問(wèn)很多屬性和有用方法的控制器。

3.視圖 View

返回使用墨香呈現(xiàn) HTML 的視圖,如, return View(model);

4.HTTP 狀態(tài)代碼

返回 HTTP 狀態(tài)代碼,如,renturn BadRequest();

5.格式化響應(yīng)

返回 JSON 或類(lèi)似的以特定方式格式化對(duì)象。如, return Json(model);

6.內(nèi)容協(xié)商響應(yīng)

操作可以返回內(nèi)容協(xié)商響應(yīng)(使用 OK ,Created , CreateAtRoute 或 CreateAtAction),而不是直接返回對(duì)象。

7.重定向

返回到另一個(gè)操作或目標(biāo)的重定向(使用 Redirect,LocalRedirect,RedirectToAction 或 RedirectToRoute).

除了上述方法,一個(gè)操作也可以簡(jiǎn)單的返回一個(gè)對(duì)象。在這種情況下,對(duì)象將根據(jù)客戶(hù)端的請(qǐng)求進(jìn)行格式化。
在大多數(shù)應(yīng)用中,許多操作會(huì)共用部分工作流。例如,大多數(shù)應(yīng)用程序可能只通過(guò)驗(yàn)證的用戶(hù),或者要利用緩存。當(dāng)希望在操作方法運(yùn)行之前或之后執(zhí)行某些邏輯時(shí),可以使用過(guò)濾器??梢酝ㄟ^(guò)過(guò)濾器來(lái)處理這些橫切關(guān)注點(diǎn),從而避免操作變得臃腫。
在授權(quán)和身份驗(yàn)證的情況下,可以將 “Authorize” 特性應(yīng)用于需要它的任何操作或控制器上。
在 MVC 應(yīng)用程序中,很多橫切關(guān)注點(diǎn)都可以使用過(guò)濾器來(lái)處理。另外一種選擇時(shí)中間件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ASP.NET Core依賴(lài)關(guān)系注入

    ASP.NET Core依賴(lài)關(guān)系注入

    這篇文章介紹了ASP.NET Core中的依賴(lài)關(guān)系注入,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • .NET設(shè)計(jì)模式之UML類(lèi)圖介紹

    .NET設(shè)計(jì)模式之UML類(lèi)圖介紹

    這篇文章介紹了.NET設(shè)計(jì)模式之UML類(lèi)圖,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • asp.net實(shí)例代碼protected override void Render(HtmlTextWriter writer)

    asp.net實(shí)例代碼protected override void Render(HtmlTextWriter wri

    把最終要輸出的html壓縮后再輸出和最終輸出前先存為html文件,如果發(fā)布最新信息了,可以打開(kāi)一次default.aspx,然后他又會(huì)生成一次html
    2008-08-08
  • ASP.NET中ImageButton圖片按鈕控件的使用

    ASP.NET中ImageButton圖片按鈕控件的使用

    本文主要介紹ImageButton控件的基礎(chǔ)使用方法,該控件類(lèi)似Button控件,但又比Button豐富,下面看它的具體使用。
    2016-04-04
  • ASP.NET中 Panel 控件的使用方法

    ASP.NET中 Panel 控件的使用方法

    Panel 控件用作其它控件的容器,其實(shí)Panel本質(zhì)就是一個(gè)DIV,本文主要介紹Panel控件的使用方法。
    2016-04-04
  • .NET?Core使用flyfire.CustomSerialPort實(shí)現(xiàn)Windows/Linux跨平臺(tái)串口通訊

    .NET?Core使用flyfire.CustomSerialPort實(shí)現(xiàn)Windows/Linux跨平臺(tái)串口通訊

    本文詳細(xì)講解了.NET?Core使用flyfire.CustomSerialPort實(shí)現(xiàn)Windows/Linux跨平臺(tái)串口通訊的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • WPF使用ValidationRules對(duì)MVVM架構(gòu)數(shù)據(jù)驗(yàn)證

    WPF使用ValidationRules對(duì)MVVM架構(gòu)數(shù)據(jù)驗(yàn)證

    這篇文章介紹了WPF使用ValidationRules對(duì)MVVM架構(gòu)數(shù)據(jù)驗(yàn)證的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 初識(shí) ASP.NET Membership 用戶(hù)管理

    初識(shí) ASP.NET Membership 用戶(hù)管理

    Membership 是用做用戶(hù)管理,進(jìn)行身份認(rèn)證使用的。通過(guò)ASP.NET Membership,我們可以創(chuàng)建用戶(hù)、刪除用戶(hù)和編輯用戶(hù)屬性。所以這是一個(gè)實(shí)現(xiàn)登錄相關(guān)控件的底層框架。
    2016-04-04
  • ASP.NET中 ListBox列表框控件的使用方法

    ASP.NET中 ListBox列表框控件的使用方法

    本文主要介紹ListBox控件的使用方法,ListBox控件可以一次顯示多個(gè)項(xiàng),而且可以允許用戶(hù)一次選擇多個(gè)項(xiàng)。
    2016-04-04
  • aspx是什么格式 ASPX文件怎么打開(kāi)

    aspx是什么格式 ASPX文件怎么打開(kāi)

    ASPX文件是一種Web文件,它是網(wǎng)站的網(wǎng)頁(yè)源文件,里面全是代碼。這種文件是由微軟的ASP.NET語(yǔ)言開(kāi)發(fā)出來(lái)的
    2013-05-05

最新評(píng)論