91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么淺析ASP.NET MVC生命周期

發布時間:2021-10-28 09:56:23 來源:億速云 閱讀:160 作者:柒染 欄目:編程語言

怎么淺析ASP.NET MVC生命周期,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

我對ASP.NET MVC生命周期還是興趣很濃,于是提出兩個問題:

一個HTTP請求從IIS移交到ASP.NET運行時,ASP.NETMVC是在什么時機獲得了控制權并對請求進行處理呢?處理過程又是怎樣的?

怎么淺析ASP.NET MVC生命周期

以IIS7中ASP.NET MVC生命周期為例,來自MSDN的一張HTTP請求處理過程發生事件的簡圖,后面我列出了一個完整的事件列表。既然ASP.NET MVC還是以ASP.NET運行時為基礎那么它必然要在ASP.NET MVC生命周期中對請求進行截獲。***反應當然是去web.config里面去翻翻,我們可以看到UrlRoutingModule的配置節:

  1. <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.
    Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    /> 

看到這里我們的***個問題實際上已經有了答案:時機是在PostResolveRequestCache和PostMapRequestHandler.

ResolveRequestCache event
Occurs when ASP.NET finishes an authorization event to let the caching modules serve requests from the cache, bypassing execution of the event handler (for example, a page or an XML Web service).

源文檔<HTTP: A system.web.httpapplication.resolverequestcache.aspx< library en-us msdn.microsoft.com>>

PostMapRequestHandler event
Occurs when ASP.NET has mapped the current request to the appropriate event handler.

源文檔<HTTP: A library en-us msdn.microsoft.com system.web.httpapplication.postmaprequesthandler.aspx<>>


我們使用VS2008中ASP.NET Mvc模板創建一個Demo完成后續的討論,當我們訪問/Home的時候發生了什么呢?
1.Request 請求到來
2.IIS 根據請求特征將處理權移交給 ASP.NET
3.UrlRoutingModule將當前請求在 Route Table中進行匹配
4.UrlRoutingModule在RouteCollection中查找Request匹配的RouteHandler,默認是MvcRouteHandler MvcRouteHandler 創建 MvcHandler實例.
5.MvcHandler執行 ProcessRequest.
6.MvcHandler 使用 IControllerFactory 獲得實現了IController接口的實例,找到對應的HomeController
7.根據Request觸發HomeController的Index方法
8.Index將執行結果存放在ViewData
9.HomeController的Index方法返回 ActionResult
10.Views/Home/Index.aspx將 ViewData呈現在頁面上
11.Index.aspx執行ProcessRequest方法
12.Index.aspx執行Render方法 輸出到客戶端

通過閱讀ASP.NET Mvc的源碼,我們可以得到更為詳細的處理過程,我盡可能的忽略掉枝節,強調請求處理的流程.我們從Global.asax.cs文件切入。

看完上述內容,你們掌握怎么淺析ASP.NET MVC生命周期的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

恩平市| 呼伦贝尔市| 西贡区| 焉耆| 德保县| 当阳市| 邓州市| 页游| 峨眉山市| 韶山市| 新竹市| 铜山县| 黔西县| 吉安县| 始兴县| 昭平县| 林芝县| 临城县| 湖州市| 遂昌县| 枣庄市| 新蔡县| 玉环县| 象山县| 鄂伦春自治旗| 和顺县| 阜阳市| 绥化市| 金平| 广元市| 安吉县| 陇西县| 武宣县| 开鲁县| 衡南县| 朔州市| 玉树县| 柳林县| 漳浦县| 曲水县| 伊宁市|