2008-12-19 47 views
9

Công ty chúng tôi có một ứng dụng web ASP.NET khá lớn. Ứng dụng đã được chia thành các 'khu vực' riêng biệt của chức năng kinh doanh. Tôi đang tìm một số chiến lược mà chúng tôi có thể sử dụng để chia ứng dụng web này thành các mô-đun có thể xây dựng/phiên bản riêng biệt.Tách/Modularizing các dự án ứng dụng web ASP.NET lớn

mục tiêu tiểu học là để:

Enable chúng tôi để triển khai các ứng dụng web chỉ với vùng chọn chức năng.

Tôi hình dung ứng dụng web chính là 'trình bao' có thể lưu trữ 'plugin', có thể tự đăng ký làm mục menu trên phân cấp điều hướng của ứng dụng web chính. Ứng dụng web chính sẽ chứa trang chính, bảng định kiểu và các điều khiển chung được sử dụng bởi các plugin.

Bạn có ý tưởng gì để triển khai một cái gì đó như thế này?

Trả lời

6

Tôi sẽ làm các dự án web phụ. Mỗi trang web là một tiểu dự án của trang web mẹ. Bạn có thể viết một HttpModule để kiểm tra một số lưu trữ dữ liệu để xem liệu khách hàng đó có quyền truy cập vào trang web đó (mô-đun) và từ chối truy cập theo cách đó hay không. Scott Guthrie có một bài viết hay về cách thiết lập các dự án web phụ here.

2

Một cách dễ dàng để thực hiện việc này là chỉ cần sử dụng Sơ đồ trang web. Bạn có thể tách các tập tin aspx của bạn và biên dịch dll khác nhau của tất cả các bạn muốn. SiteMap là hoàn toàn độc lập và có thể được cấu hình tuy nhiên bạn muốn bao gồm bất kỳ mô-đun bạn muốn, với bất kỳ điều khoản bạn muốn. Không có nhu cầu thực sự cho bất kỳ mô-đun mã nào để tự đăng ký với các mô-đun mã khác. Đây là ASP.NET, mỗi yêu cầu là độc lập và có thể bắt đầu tại bất kỳ điểm vào aspx nào. Theo như các trang của bạn có liên quan, cho phép chức năng cross-module đơn giản như cung cấp một liên kết đến một trang trong mô-đun khác. SiteMap hoàn thành thủ công này.

+0

Tôi sẽ tưởng tượng anh ấy muốn giới hạn quyền truy cập vào các mô-đun khác do thỏa thuận cấp phép và liệu khách hàng có thanh toán cho họ hay không. –

+0

Ngay cả đối với phần mềm đóng gói, nó vẫn sẽ hoạt động. Một mô-đun đơn bao gồm các tệp ASPX và một dll. Nếu bạn chỉ có 2 trong số N mô-đun có thể được cài đặt trên một hệ thống nhất định, thì Sơ đồ trang web có thể được tùy chỉnh để không bao gồm các mô-đun không được bao gồm hoặc mỗi mô-đun có quyền duy nhất. – sliderhouserules

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