2013-07-01 27 views
5

Tôi chỉ muốn làm rõ sự hiểu biết của tôi về ASP .NET MVC (phiên bản hiện tại là 4).Có đúng không khi nói rằng ứng dụng ASP .NET MVC là một HTTPModule?

Tôi đã đọc bài viết này trên How does ASP.NET MVC work?

Vì vậy, làm thế nào để ASP.NET biết làm thế nào để yêu cầu đường đến MVC? Câu trả lời nằm trong web.config. Có một mô-đun http mới được thêm vào bộ sưu tập mô-đun trong các dự án ASP.NET MVC

Vì vậy, về cơ bản một ứng dụng mvc được thực hiện dưới dạng HTTPModule hoặc ít nhất phần định tuyến url của ứng dụng mvc?

Bạn có thể tạo và đăng ký mô-đun định tuyến tùy chỉnh và sau đó có thể tạo khung mvc vi của riêng mình như Sinatra trong Ruby hoặc Slim bằng PHP?

+0

Hãy xem mẫu Khăn nóng của John Papa: Anh ấy làm điều tương tự với mô-đun js phía máy khách được gọi là DurandalJS (trừ khi tôi hoàn toàn hiểu lầm câu hỏi của bạn ...) –

+0

Cảm ơn Cory, SPA mát mẻ. :) – stormwild

Trả lời

4

Định tuyến Url thực chất là mô-đun ASP.NET riêng. Nó được sử dụng cho cả MVC và WebForms (và có thể được sử dụng cho các kiểu ứng dụng ASP.NET khác). Định tuyến được bao gồm trong hội đồng System.Web. Bạn có thể tìm thêm thông tin về các tính năng định tuyến tại MSDN.

MVC được triển khai bằng cách sử dụng IHttpHandler. Việc thực hiện có thể được tìm thấy here.

Bây giờ cho câu hỏi thực tế:

Nó sẽ có thể cho một để tạo ra và đăng ký một module định tuyến tùy chỉnh và sau đó có thể tạo ra khung MVC vi của mình như Sinatra trong Ruby hoặc Slim trong PHP?

Có. Nó hoàn toàn có thể. Bạn cần tạo lớp của riêng mình thực hiện IRouteHandler. Sau đó, chỉ cần đăng ký các tuyến đường bằng cách sử dụng trình xử lý đó.

+0

Tuyệt vời, cảm ơn. :) – stormwild

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