2009-07-29 18 views
16

Chcemy podzielić naszą dużą aplikację webową asp.net mvc na wiele projektów Visual Studio, tak aby każdy zespół mógł niezależnie pracować nad projektem swojego studia wizualnego.Wiele projektów ASP.NET MVC, które tworzą pojedynczą aplikację ASP.NET MVC

Pożądany struktura jest następująca:

  1. aplikacji ASP.NET MVC, który jest odpowiedzialny za UI bazowej
  2. Moduł 1 - VS projektu (czy to trzeba być ASP.net MVC App lub .dll?)
  3. moduł 2 - VS Project (czy to musi być aplikacji ASP.NET MVC lub .dll)
  4. tak dalej ....

Każdy moduł powinien on zawierać”? s własny kontroler & widoków, które są odpowiedzialne za funkcjonowanie modułu. T

Jak podzielić aplikację ASP.NET na wiele projektów, a następnie połączyć je jako pojedynczą witrynę podczas procesu kompilacji?

Odpowiedz

8

ASP.NET MVC V2 posiada funkcję o nazwie Obszary, który pozwala mieć oddzielne projekty, do których odwołuje się główna aplikacja. Sprawdź ScottGu's post.

+1

O ile mogę powiedzieć, to nie jest już obsługiwana w MVC3. –

+1

Obszary są trudne do opanowania, jeśli mamy 100 wyświetleń na stronie. Zasadniczo, gdy mamy 1000 plików załadowanych do Visual Studio, proces kompilacji jest do dupy. Budowanie trwa zbyt długo. Więc podzieliliśmy naszą witrynę na wiele projektów asp.net i połączyliśmy je w proces kompilacji, o czym wspomniałem w komentarzu poniżej: http://stackoverflow.com/questions/1200424/multiple-asp-net-mvc-projects-that-builds -as-single-asp-net-mvc-application/1362621 # 1362621 – Gopinath

2

Jedno narzędzie może być zainteresowany patrząc nazywa ILMerge

Jest to narzędzie, które pozwoli Ci połączyć kilka .Net zgromadzenia w jednym DLL. Można go użyć do połączenia wyjścia z kilku projektów w pojedynczą bibliotekę DLL do wdrożenia.

Nigdy nie próbowałem go z Asp.Net MVC i nie znam się dobrze na architekturze MVC, aby powiedzieć, czy to zadziała w twojej sytuacji. Ale prawdopodobnie warto spróbować.

0

Jeśli Twoja aplikacja nie wymaga obszarów, a Twoim celem jest zapewnienie niezależności zespołu, dlaczego nie skorzystać z lepszego systemu kontroli kodu źródłowego? O ile nie masz prawdziwie niezależnych modułów, właściwe wydaje się kierowanie oddziałami w subwersji.

3

Problemem jest załatwione tylko przez tworzenie wielu projektów MVC i scalanie wyjście na końcu zwykłą kopią & pasty :)

tutaj jest struktura szliśmy:

  • MyApp.Web. Shell (zawiera tylko tematy, CSS, JS & obrazów wymagane dla aplikacji web)
  • MyApp.Web.Home
  • MyApp.Web.UserManagement
  • MyApp.Web.DeviceManagement
  • MyApp.Web.ContentManagement
  • ..... etc ...

Na koniec używamy budować skrypty scalić wyjścia wszystkich projektów i generowania pliki wymagane do uruchomienia całej aplikacji internetowej.

Jeśli potrzebujesz pomocy w realizacji podobnego rozwiązania, skontaktuj się ze mną na link text

0

One sposób przetwarzanych w moim poprzednim miejscu pracy było zbudowanie głównego aplikacji „administrator danych”. Ta aplikacja została wdrożona i była publicznie dostępna. Zadaniem było przeczytanie przychodzącego adresu URL i, w oparciu o kilka reguł mapowania w plikach konfiguracyjnych, odwzorować ten URL na inne aplikacje MVC działające na tym samym serwerze. Dało nam to wiele opcji, takich jak uruchamianie aplikacji do tworzenia kopii zapasowych na różnych serwerach w farmie, jeśli chcieliśmy przeprowadzić proste równoważenie obciążenia. Musisz zarządzać takimi funkcjami, jak uwierzytelnianie w wielu aplikacjach (jeśli korzystasz z uwierzytelniania).

To w zasadzie daje możliwość, aby mieć jak wiele różnych aplikacji MVC, jak trzeba działa na serwerach wszystko z tego samego kontrolera przedniej (zasadniczo)

0

Można po prostu użyć dobrej kontroli źródła i poprosić odpowiednie zespoły o sprawdzenie, nad czym powinny pracować.

ten sposób masz tylko jeden dll w czasie kompilacji ...