2010-10-07 40 views
5

Có thể xây dựng mô-đun DNN sử dụng ASP.NET MVC không?ASP.NET MVC trong DotNetNuke?

Cấp rằng DNN không hỗ trợ ASP.NET MVC ra khỏi hộp ... nhưng vì cả hai DNN và MVC chạy trên các đường ống dẫn ASP.NET ...

Lý do tôi hỏi. trang web di sản lớn chạy trên DNN:

http://blahblahblah.com 

Tôi muốn dính vào một hiện ASP.NET MVC trang web/ứng dụng ở đây:

http://blahblahblah.com/subfolder 

Đây có phải là thực hiện tốt hơn bằng cách thiết lập một thư mục ảo vv trên máy chủ, hoặc là có một cách để tích hợp này với DNN?

Trả lời

8

DNN liên kết chặt chẽ với Webforms. ASP.Net MVC sẽ rất khó khăn, có thể không thể tích hợp trong một mô-đun. Tuy nhiên DNN không hỗ trợ Webforms MVP (Model View Presenter) cho phép tất cả các lợi ích về cấu trúc/thử nghiệm của MVC trong ngữ cảnh WebForms. Tất cả các mô đun mới do DotNetNuke Corp. phát triển đều sử dụng mẫu MVP Webforms.

Dưới đây là một liên kết để bạn bắt đầu Step by Step Webforms MVP and DotNetNuke – Part 1.

+0

Cảm ơn! Sẽ kiểm tra điều này. –

+0

Một thời gian sau khi đăng câu trả lời này, tôi đã cố gắng tăng cường tích hợp MVC với DNN. Kết luận của tôi rằng nó sẽ có thể làm, với một số thỏa hiệp, nhưng cuối cùng không có khả năng giá trị nó. Hôm nay tôi có khuynh hướng viết các dịch vụ với khung dịch vụ và thực hiện tất cả các ui trong javascript, về cơ bản sẽ loại bỏ các biểu mẫu web và mã hoàn toàn. – ScottS

0

Nếu bạn chỉ muốn một ứng dụng MVC riêng biệt trong một thư mục con, bạn sẽ có thể làm điều đó. Phần khó khăn chính sẽ là tích hợp người dùng/phiên (giả sử bạn cần), nhưng điều đó không nên là quá một rào cản lớn để tìm ra (trái với việc mã hóa lại ứng dụng MVC hiện có của bạn). Có thể bạn cũng sẽ cần cập nhật web.config cho ứng dụng MVC của bạn để xóa mọi thứ khỏi DNN (quan trọng nhất là HTTP Module và Trình xử lý, vì vậy chúng không can thiệp vào định tuyến).