ASP.NET MVC – Life Cycle

0
197

Trong phần này chúng ta sẽ nói về vòng đời của HTTP khi gửi yêu câu qua mô hình MVC trong ASP.NET.

Ví dụ, nền tảng ASP.NET trên các webforms có vòng đời khá phức tạp. Các nền tảng .NET khác, như các ứng dụng điện thoại Windows, có vòng đời ứng dụng riêng của nó. Những điều đó đúng cho tất cả các nền tảng để phân biệt công nghệ và việc hiểu rõ các cách xử lý có thể giúp bạn tận dụng tốt hơn các tính năng có sẵn.

MVC có hai trình cuộc sống:

  • The application life cycle
  • The request life cycle

image001

The application life cycle:

The application life cycle đề cập đến thời gian mà tại đó quá trình ứng dụng thực sự bắt đầu chạy IIS cho đến khi thời gian dừng lại. Điều này được đánh dấu bởi các ứng dụng bắt đầu và kết thúc sự kiện trong các tập tin khởi động trong ứng dụng của bạn.

Application life cycle có thể chia thành các giai đoạn sau:

  • Người dùng gửi một yêu cầu truy cập vào dữ liệu của ứng dụng. Trình duyệt sẽ gửi yêu cầu này đến Web Server.
  • Các sự kiện sau đây sẽ được khởi tạo:
    • Một đối tượng cũa lớp ApplicationManager được tạo
    • Một đối tượng của lớp HostingEnvironment được tạo để cung cấp thông tin về nguồn dữ liệu
    • Các thành phần đầu của ứng dụng sẽ được biên dịch
  • Các đối tượng như HttpContext, HttpRequest và HttpResponse được khởi tạo và cài đặt.
  • Một thể hiện của đối tượng HttpApplication được tạo và gắn cho yêu cầu.
  • Các yếu cầu được xử lí bởi lớp HttpApplication, các sự kiện khác nhau được kích hoạt bới lớp này để xử lí các yêu cầu.

The Request Life Cycle:

Là chuỗi các sự kiện xảy ra mỗi khi một yêu cầu gửi đến HTTP được xử lý bởi các ứng dụng của chúng.

Điểm mấu chốt giúp cho mọi ứng dụng MVC bắt đầu với việc định tuyến đi đúng. Sau khi “nền tảng” ASP.NET nhận được yêu cầu, nó hiểu ra những công việc nào cần được xử lý thông qua Routing Module URL.

Modules là những thành phần của .NET có thể móc vào vòng đời ứng dụng và thêm vào đó các chức năng. Các module định tuyến có trách nhiệm điều chỉnh phù hợp với URL đến tuyến đường mà chúng đã được xác định trong ứng dụng.

image002

Tất cả các tuyến đường có  xử lý tuyến liên kết với chúng và đây là điểm mấu chốt để tạo ra các FrameWork MVC.

Khung MVC xử lý chuyển đổi dữ liệu trên tuyến đường vào một bộ điều khiển cụ thể và có thể xử lý các yêu cầu được đề ra. Sau khi các Controller đã được tạo ra, bước quan trọng tiếp theo là hành động thực thi. Một thành phần được gọi là Invoker là môt hành động được tạo ra nhầm tìm và lựa chọn một hành động thích hợp để gọi Controller xử lý.

Sau khi có được kết quả. MVC phân tách và xử lý các kết quả thu được, nếu kết quả là một loại View, thì View Engine sẽ được gọi và nó chịu trách nhiệm cho việc tìm kiếm và phân tích view đó.

Nếu kết quả không phải là một view, mà kết quả là một hành động thì nó sẽ thực hiện công việc riêng của mình. Thực thi kết quả này là những gì cần để tạo ra một phần ứng dụng thực tế để yêu cầu từ một HTTP gốc.

Chúc bạn thành công !

Xem thêm:ASP.NET MVC – Routing

LEAVE A REPLY