14

Tôi đang cố gắng tìm hiểu MVC trong từng chi tiết, và tôi tự hỏi dòng chảy chức năng chính xác là những gì trong nội bộ, theo nghĩa mà chức năng (chức năng quan trọng) được gọi lànhững gì họ làm khi ứng dụng bắt đầu và những hàm nào được gọi ngoài các hành động của trình điều khiển mà chúng ta viết trong ứng dụng của chúng ta khi chúng ta tiến hành.Thực hiện trong MVC

Trợ giúp về vấn đề này sẽ được nhiều người đánh giá cao. Xin vui lòng đề nghị một số nguồn lực tốt là tốt nếu bạn tìm thấy bất kỳ trong lĩnh vực này.

Cảm ơn!

Trả lời

19

Dưới đây là các bước chi tiết:

  1. Yêu cầu đi vào ASP.NET
  2. ASP.NET Routing thấy trận tuyến đường bằng cách gọi RouteCollection.GetRouteData
  3. này lần lượt gọi RouteBase.GetRouteData trên mỗi tuyến đường cho đến khi nó tìm thấy một trận đấu
  4. IRouteHandler cho tuyến đường phù hợp có phương pháp GetHttpHandler được gọi là
  5. MvcHandler chạy (ProcessRequest i của tôi s gọi là)
  6. Các MVC Định vị máy điều khiển và tạo ra bộ điều khiển trong CreateController
  7. Các ControllerActionInvoker xác định hành động để chạy trong InvokeAction
  8. Các AuthorizationFilter thực thi giai đoạn (điều này bao gồm các phương pháp ủy quyền trên bộ điều khiển chính nó)
  9. Giai đoạn ActionExecuting thực hiện
  10. Phương thức hành động được yêu cầu được thực thi
  11. Giai đoạn ActionExecuted thực hiện
  12. Nếu có một đối tượng kết quả sau đó giai đoạn ResultExecuting thực hiện
  13. Nếu kết quả không được hủy bỏ sau đó phương pháp ExecuteResult của ActionResult được thực hiện
  14. Giai đoạn ResultExecuted thực hiện
  15. Nếu một lỗi xảy ra sau đó giai đoạn Exception thực hiện

Tôi cũng muốn giới thiệu bạn đến số MVC Snake Diagram mà tôi sử dụng trong nhiều bản trình bày trên ASP.NET MVC. Đây là hình ảnh đầy đủ: alt text http://weblogs.asp.net/blogs/leftslipper/WindowsLiveWriter/ASP.NETMVCDesignPhilosophy_F491/MVC_Snake_2.png

Bài đăng trên blog tôi đã liên kết để mô tả một số khái niệm được sử dụng trong ASP.NET MVC về cách dữ liệu truyền qua ứng dụng.

+0

Tôi biết sơ đồ con rắn này, thật đáng buồn điều này không cho tôi biết nhiều thông tin về những hàm được gọi. Cảm ơn –

+3

Điều này có vẻ tốt hơn: http://www.codethinked.com/post/2008/09/27/ASPNET-MVC-Request-Flow.aspx – LukLed

+0

Tôi đã cập nhật văn bản để bao gồm một số chi tiết khác. – Eilon

Các vấn đề liên quan