8

Tôi đã tự hỏi về cách tốt nhất để làm điều này trong một vài ngày và tự hỏi những gì mọi người khác nghĩ.ASP.NET MVC 3 - Xử lý nhiều tên miền và chia sẻ một mã duy nhất-base

Chúng tôi muốn xây dựng lại và nâng cấp tất cả các trang web công ty lên ASP.NET MVC 3 và sử dụng một mẫu chung trên tất cả (chủ yếu); chúng tôi đã có một trang web trong MVC 3 sẽ là trang web của nhà tài trợ cho những người khác.

Lúc đầu, tôi sẽ chỉ sao chép/dán dự án, thay thế tất cả nội dung có liên quan đến từng trang web và được thực hiện với nó nhưng điều này sẽ làm cho việc cập nhật mẫu/stylesheets/người trợ giúp trong tương lai khó khăn hơn - chúng tôi chỉ có một số ít các trang web vì vậy nó không phải là một vấn đề lớn mặc dù.

Idea 1

Những gì tôi nghĩ tôi muốn làm sẽ là để có một dự án duy nhất chứa tất cả các trang web, có thể tách ra bởi khu vực để giữ chúng tách ra và sử dụng định tuyến để gửi yêu cầu tới các miền khác nhau đến đúng địa điểm và xây dựng các liên kết trỏ đến đúng tên miền.

Điều này phù hợp với cách chúng tôi lập kế hoạch liên kết tất cả các trang web với nhau - về cơ bản với một menu chung cho tất cả các trang web liệt kê các công ty khác nhau, chúng sẽ liên kết đến miền công ty có chứa các menu phụ của các mục liên quan đến Công ty. Đây là nơi nó trở nên phức tạp, vì vậy tôi cần phải định tuyến ở cấp tên miền - thay vì định tuyến cho bộ điều khiển công ty2 trên tên miền hiện tại (ví dụ: http://www.groupcompany.ex/company2) Tôi muốn định tuyến yêu cầu miền của chính công ty2 - http://www.company2.ex/{controller}/{action}/{id}.

Idea 2

Ngoài ra tôi có thể tạo các dự án cho mỗi trang web trong một giải pháp duy nhất và có một dự án chung nơi tổ chức bất kỳ người giúp đỡ, CSS và Javascript, vv

Bất kỳ suy nghĩ về cách mà tôi nên làm điều này, và liệu những gợi ý của tôi có hoàn toàn điên khùng không? (có khả năng là như vậy).

+1

Chúng tôi có điều này làm việc cho một số ràng buộc nhất định của chúng tôi tại đây: http://stackoverflow.com/questions/490963/can-have-part-of-the-domain-name-as-a-parameter-in-my -routing-rules/499688 # 499688 – schmidty

Trả lời

7

Đây là yêu cầu chung. Những gì bạn đang yêu cầu được gọi là Đa thuê. Cho đến nay, tôi không biết bất kỳ sự đồng thuận nào về cách đạt được tính đa người thuê trong MVC. Có lẽ có nhiều giải pháp vì có câu hỏi được hỏi về nó.

Tôi cũng chưa giải quyết được vấn đề này với sự hài lòng của mình. Tuy nhiên, có một số mục blog bao gồm điều này. Ví dụ như:

http://weblogs.asp.net/zowens/archive/2010/05/26/multi-tenant-asp-net-mvc-introduction.aspx

http://codeofrob.com/archive/2010/02/01/multi-tenancy-in-asp.net-mvc-why-do-we-want-to.aspx

Đây là điều mà tôi nghĩ rằng cần phải được xây dựng vào khuôn khổ tại một số điểm. Hy vọng rằng, điều đó xảy ra, hoặc ít nhất một người nào đó đến với một giải pháp thanh lịch.

+0

Cảm ơn câu trả lời của bạn - nhiều hợp đồng thuê nhà xuất hiện rất nhiều khi tôi đã tìm kiếm điều này.Từ việc đọc liên kết thứ hai của bạn, có vẻ như nó gần như giải quyết được vấn đề của chúng tôi, nhưng tôi không chắc liệu nó có hoàn toàn hay không - dường như tập trung vào việc tùy biến một sản phẩm cho nhiều người dùng khác nhau, trong khi chúng tôi chủ yếu muốn một trang web hoàn toàn riêng biệt, với các chế độ xem và bộ điều khiển khác nhau cho tất cả chúng (các tính năng phổ biến của thanh như biểu mẫu liên hệ, v.v.). Tôi thấy rất nhiều câu hỏi về định tuyến trên cấp tên miền phụ nhưng không quá nhiều ở cấp tên miền hoàn chỉnh .. tìm kiếm vẫn tiếp diễn. – akiller

+0

@akiller Có "tìm kiếm" của bạn bật lên bất cứ điều gì tốt? Các liên kết đầu tiên là loại cũ (và tập trung vào MVC1/MVC2 - mặc dù tôi nghi ngờ không khó để chuyển đổi sang MVC3). Liên kết thứ hai tác giả blog dường như đã bỏ rơi cho một khuôn khổ khác (dẫn tôi đến nghi ngờ giải pháp và/hoặc nhu cầu của mình không hoạt động). – REMESQ

+0

@REMESQ Tôi đã từ bỏ cuối cùng và chỉ cần thêm một dự án trợ giúp MVC chung cho các chức năng tiện ích và thêm tệp CSS/hình ảnh được chia sẻ trên miền chính của chúng tôi và liên kết với chúng từ mỗi trang bố cục trang web của chúng tôi. Vẫn còn khá nhiều sự lặp lại với các tập tin bố trí và như vậy nhưng nó sẽ đưa ra một số lượng lớn duy trì. Có lẽ có một cái nhìn nhận xét của schmidty dưới câu hỏi ban đầu của tôi? – akiller

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