Tìm cách thu thập một số quan điểm về cách ứng dụng web (Hoặc có thể thiết lập các ứng dụng web) nên được chia nhỏ (Dự án khôn ngoan) ... về cơ bản, toàn bộ điều sẽ là một trang web lớn, nhưng vấn đề phát sinh bởi vì nó có một loạt các mô-đun mà mỗi mô-đun có chu kỳ phát hành/phát hành riêng của họ.Chia nhỏ ứng dụng web asp.net
Vấn đề nảy sinh là tách chúng trở thành đau đầu khi cố gắng chia sẻ các phiên giữa các trang và nhúng tài nguyên được chia sẻ trong DLL nhưng giữ chúng như một dự án lớn là một cơn ác mộng từ góc độ kiểm soát nguồn.
Các cách có thể để làm điều này mà tôi có thể nghĩ đến là:
- Có một ứng dụng và chi nhánh như điên cho công tác trên từng module: Trên cơ sở phong cách cơ bản này có vẻ đúng, nhưng nó sẽ có rất nhiều chi nhánh và các chi nhánh hợp nhất trở lại trong mọi thời gian sẽ là một cơn ác mộng ...
- Làm cho tất cả các ứng dụng riêng biệt: Hạn chế là tất cả đều chia sẻ trang chính và nhiều điều khiển tùy chỉnh (được triển khai trong ascx). Tôi biết làm thế nào để đặt chúng trong một DLL (Sử dụng các nhà cung cấp đường dẫn ảo), nhưng nó là một giải pháp khá lộn xộn. Ngày đầu này là đi qua phiên trở lại và ra giữa các ứng dụng về cơ bản xây dựng một giải pháp phiên homebrew ...
Một điều khác tôi đã cố gắng để tìm hiểu xem tôi có thể làm nhưng thất bại là bằng cách nào đó có một " thư mục ảo "của các loại trong csproj sao cho thư mục" ModuleA "thực sự được ánh xạ tới" ../../../ModuleA/Trunk/ ". Tôi khá thuyết phục rằng điều này không thể được thực hiện mà không sử dụng một số loại kịch bản dựng sẵn nhưng tôi đã hy vọng một thứ gì đó thực sự tải một cách thích hợp trong Visual Studio, vì vậy tôi nghĩ ý tưởng này là không ...
Có ai có lời khuyên nào về cách thức mà tôi nên đi với điều này (Cho dù đó là một trong những điều trên hoặc một cái gì đó tôi đã không xem xét)? Muốn chắc chắn rằng tôi không tự bắn mình vào chân ở đây vì nó có thể là một dự án dài hạn với rất nhiều cải tiến/bảo dưỡng trong tương lai ...
Quan điểm của bạn có vẻ khá phù hợp với những kết luận mà tôi đã đưa ra khi tôi cố gắng tìm ra cách để đưa ra tất cả. Tôi đồng ý rằng việc chia sẻ trực tiếp phiên như được mô tả trong một số liên kết đó là một hack bẩn - rất nhiều để tôi viết trình điều khiển phiên của riêng mình trước khi triển khai các giải pháp đó. Theo mô đun mô-đun đủ để không chia sẻ dữ liệu, mỗi mô-đun tách biệt 100% với bất kỳ mô-đun nào khác nhưng chúng thực chất gắn liền với một ứng dụng trung tâm sẽ chạy trong webroot (Về cơ bản chỉ là một khung công tác các mô-đun buộc vào). – fyjham
PS: Chưa chấp nhận điều này - muốn dành thêm chút thời gian để xem liệu có ai có ý kiến / cách tiếp cận khác không. Nếu không ai khác trong vòng một hoặc hai ngày, tôi sẽ chấp nhận điều này. – fyjham