2009-05-11 14 views
5

Mam tak wiele problemów z uruchomieniem więcej niż jednego projektu MVC na tym samym serwerze ... Używam systemu Windows XP z domyślnymi usługami IIS (jak sądzę, 5.1).ASP.NET MVC - Czy możliwe jest nawet posiadanie wielu projektów MVC na tym samym serwerze?

W tej chwili nawet buduję projekty WebSetup dla każdego tworzonego projektu, aby upewnić się, że wszystko idzie dobrze, a projekty te można bardzo łatwo wdrożyć za pomocą XCopy.

Podsumowując, mogę uzyskać projekt MVC (np. Przykład ContactManager) z adresem: http://servername, LUB http://servername/ContactManager. Ale jak tylko mam projekt w obu lokalizacjach horror zaczyna

 
"title is not a member of ViewPage" -> yeah, right... 
Section or group name 'system.web.extensions' is already defined. -> sure 
let me <clear /> or <remove /> that one, oh that's not valid... 

Czy to w ogóle możliwe, aby mieć więcej niż 1 projekt ASP.NET MVC (aplikacji) pracującego na tym samym komputerze z Windows XP?

 
http://server/  Root project (MVC) 
http://server/app1 Application 1 (MVC) 
http://server/app2 Application 2 (MVC) 
http://server/appX Application X (MVC) 

Czy ktoś może wskazać pewne punkty uwagi?

+0

@Alex: Dobre pytanie. @ropstah: czy wiesz, że zarówno "http: // nazwa_serwera", jak i "http: // nazwaserwera/menedżer_kontaktowy" mają powiązaną z nimi (IIS) aplikację lub jest prawdopodobną witryną "http: // nazwaserwera/menedżera kontaktów" w tej samej aplikacji co "http: // nazwaserwera"? –

+0

Zarówno root, jak i podprojekt mają swoją własną nazwę aplikacji. Root: "Intranet", Sub: "ContactManager" – Ropstah

Odpowiedz

4

Czy go możliwe jest nawet posiadanie więcej niż jednego projektu ASP.NET MVC (aplikacja), działającego na tym samym komputerze z systemem Windows XP ?

Tak, jest absolutnie możliwe, aby mieć więcej niż 1 aplikację ASP.NET MVC na tym samym komputerze z systemem Windows XP. Właśnie stworzyłem dwie nowe aplikacje ASP.NET MVC na mojej maszynie testowej działającej pod kontrolą nowego systemu Windows XP SP3 i działają one sprawnie.

AKTUALIZACJA:

Właśnie stworzył 3d aplikację:

  • ścieżka korzeń IIS zmieniona na tej aplikacji
  • Dodany mapowania * do . C: \ WINDOWS \ Microsoft .NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll.
  • Sprawdzone dostęp anonimowy

Still wszystkie 3 aplikacje działa bardzo dobrze

AKTUALIZACJA:.

Jest jeden problem z mapowaniem * do C: \ WINDOWS \ Microsoft. NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll na serwerze głównym: wszystkie Twoje zwykłe aplikacje ASP.NET nie-MVC przestaną działać.

Home to pomaga

+0

To było moje pytanie dokładnie :). Czy masz jeden projekt w katalogu głównym (serwer /) i jeden projekt jako sub? (serwer/sub /)? – Ropstah

+0

Tak - localhost, localhost/mvcapp1 i localhost/mvcapp2 –

+0

Znalazłem paskudne informacje na http://forums.asp.net/t/1406317.aspx Okazuje się, że za każdym razem, gdy edytujesz stronę główną, coś idzie nie tak z odniesieniem do Systemu .web.mvc.ViewMasterPage. Czy możesz edytować kod HTML na stronie głównej, odbudować i sprawdzić, czy strona nadal działa? – Ropstah

1

IIS5.1 dostarczany z XP obsługuje tylko stronę internetową jedną (ale wiele wirtualnych katalogów). Uważam, że będzie to czynnikiem ograniczającym.

Usługi IIS6.x i nowsze, w których wiele witryn internetowych (i wiele pul aplikacji) jest preferowanych podczas próby uzyskania wielu aplikacji MVC na tym samym serwerze.

EDIT Można zawsze skorzystać z bezpłatnej wersji VMware Server i po prostu tworzyć stosy maszyn wirtualnych z XP do badania/rozwój.

+1

Chciałbym osobiście zaktualizować do IIS 6.0. – peacedog

+0

Ja też (jeśli mógłbym). –

+0

Mam na myśli wiele stron internetowych jako aplikacje. Tak więc rootapp na http: // serwer/i pod-aplikacje na http: // serwer/app1, http: // serwer/app2 itd. – Ropstah

0

Czy istnieją 2 oddzielne aplikacje zdefiniowane w IIS?

+0

Tak, są. Root nazywa się "Intranet", podprojekt nazywa się: "ContactManager" – Ropstah

0

W przypadku XP rozwiązaniem byłoby użycie serwera Apache z Mono 2.4. Działa bardzo dobrze z ASP.NET MVC, a nawet z SQL Server (< = 2005). Mamy nadzieję, że pewnego dnia zobaczymy to w pakiecie z pewną przyszłą wersją Xampa lub EasyPHP :) To pozwoli każdemu, kto jest ciekawy, spróbować.

+0

Twoje rozwiązanie wygląda bardzo interesująco (przynajmniej dla mnie), ale myślę, że nie w tym przypadku –

0

Upewnij się, że folder główny każdej aplikacji, w menedżerze IIS, jest ustawiony jako inna aplikacja internetowa.

+0

Tak jest w tym przypadku. Projekt WebSetup w Visual Studio robi to automatycznie przy okazji. – Ropstah

3

Tak, jest to możliwe. Mam 3 aplikacje MVC działające pod jedną główną aplikacją MVC.

 
- Main site 
      - Administration 
      - Sub App 2 
      - ... 

Należy jednak sprawdzić następujące szczegóły.

  1. zwrotne główne i podrzędne aplikacje są skonfigurowane do korzystania z mapowania wieloznaczny dla MVC z aspnet_isapi.dll.

  2. powodu dziedziczenia web.configs trzeba ustawić właściwość w aplikacji MVC korzeni ... owinąć wokół tego < system.Web>

 
<location path="." inheritInChildApplications="false"> 
    <system.web>... 
</location> 
+0

Dzięki za komentarz. Nie jest to jednak powiązane z dziedziczeniem web.config. Ale twoją odpowiedzią jest to, co muszę wiedzieć. Eu-ge-ne dostaje uznanie za udzielenie (tej samej) odpowiedzi w pierwszej kolejności i za jego wysiłek. Wstajecie - głosujecie na krótką odpowiedź;) – Ropstah

+0

mam tylko nadzieję, że to pomogło;) – David

Powiązane problemy