ASP.NET MVC 簡介

1、 ASP.NET MVC 是什麼?設計模式

ASP.NET MVC是微軟官方提供的以MVC模式爲基礎的ASP.NET Web應用程序(Web Application)框架,它由Castle的MonoRail而來,日前最新版本是ASP.NET MVC 4.0。是將一個Web應用分解爲:Model、View和Controller。ASP.NET MVC框架提供了一個能夠代替ASP.NET WebForm的基於MVC設計模式的應用。瀏覽器

MVC的優勢:服務器

(1)、經過把項目分紅Model、View和Controller,使得複雜項目更加容易維護,減小項目之間的耦合;框架

(2)、沒有使用ViewState和服務器表單控件,能夠更方便的控制應用程序的行爲;單元測試

(3)、應用程序經過Controller來控制程序請求,並提供了原生的UrlRouting功能來重寫Url;測試

(4)、使Web程序對單元測試的支持更加出色;spa

(5)、在團隊開發模式下表現更出衆。設計

 

二、MVC 包含的關鍵技術:orm

ActionResult:Action 的返回類型對象

Filter:過濾器

ModelBinder:Model綁定器

Url Routing:Url路由規則

 

三、MVC Web 項目的執行階段:

階段

詳細信息

接收對應用程序的第一個請求

在 Global.asax 文件中,Route 對象將添加到 RouteTable 對象中。

執行路由

UrlRoutingModule 模塊使用 RouteTable 集合中第一個匹配的 Route 對象來建立 RouteData 對象,而後使用所建立的對象建立 RequestContext 對象

建立 MVC 請求處理程序

MvcRouteHandler 對象將建立 MvcHandler 類的實例,並將 RequestContext 實例傳遞給處理程序

建立控制器

MvcHandler 對象使用 RequestContext 實例標識用於建立控制器實例的   IControllerFactory 對象(一般是 DefaultControllerFactory 類的實例)

執行控制器

MvcHandler 實例調用控制器的 Execute 方法

調用操做

對於從 ControllerBase 類繼承的控制器,與該控制器關聯的 ControllerActionInvoker 對象將決定要調用的   controller 類的操做方法,而後調用該方法

執行結果

操做方法將接收用戶輸入,準備合適的響應數 據,而後經過返回結果類型來執行結果。可執行的內置結果類型包括:ViewResult(呈現視圖而且是最經常使用的結果類型)、 RedirectToRouteResult、RedirectResult、ContentResult、JsonResult、FileResult 和 EmptyResult

 

簡單的描述一下:

步驟1:建立RouteTable

當ASP.NET應用程序第一次啓動的時候纔會發生第一步。RouteTable把URL映射到Handler。

步驟2:UrlRoutingModule攔截請求

第二步在咱們發起請求的時候發生。UrlRoutingModule攔截了每個請求而且建立和執行合適的Handler。

步驟3:執行MvcHandler

MvcHandler建立了控制器,而且把控制器傳入ControllerContext,而後執行控制器。

步驟4:執行控制器

控制器檢測要執行的控制器方法,構建參數列表而且執行方法。

步驟5:調用RenderView方法

大多數狀況下,控制器方法調用RenderView()來把內容呈現回瀏覽器。Controller.RenderView()方法把這個工做委託給某個ViewEngine來作。

相關文章
相關標籤/搜索