[ASP.NET MVC] 生命週期

大今拉麵 : 「想那麼多幹嘛?,唐牛才是食神」

整理一下幾個重點出來

application life cycle

  • ASP.NET應用程式會在接到第一個請求的時候才會觸發Start
  • 在特定的條件下會觸發End,在觸發End之後的第一個請求會再次觸發Start

綜合以上兩個重點我們可以想想看

  • Start通常都是耗時的流程,如何避免(盡量or完全)用戶遇到請求是包含Start流程
  • 在需求下End發生的頻率為和?
  • 能不能讓End不發生?
  • 其他延伸引響?

 

request life cycle

這部分參與的活動比較多為了不要太長一串,用了個人自創的表達方式呈現活動順序

1.Routing

  • URL Rounting Module
  • Matching Route Entry
  • Route Handler

 

 

2.Controller Intialization

  • Http Handler
  • Controller Factory
  • Controller

 

 

3.Action Filter

  • Action Invoker
  • Model Binders
  • Authentication Filter
  • Authorization Filter
  • Action Execution (←Model)
  • Action Filter
  • Action Result

4.Result Execution

  • Result Filter
    • <IF> ​Non View Result
      • ​Result Filter
    • <ELSE> View Result
      • View Initialization & Rendering
        • View Engine
        • View
        • Html Helpers & Validation Rules
      • Result Filter

 


Page Life Cycle in Asp.net MVC參考: