2009-05-11 42 views
5

Tôi gặp rất nhiều sự cố khi nhận được hơn 1 dự án MVC và chạy trên cùng một máy chủ ... Tôi đang sử dụng hệ thống Windows XP chạy IIS mặc định (5.1 tôi tin).ASP.NET MVC - Có thể có nhiều dự án MVC trên cùng một máy chủ không?

Tại thời điểm này, tôi thậm chí còn xây dựng các dự án WebSetup cho mọi dự án tôi tạo để đảm bảo mọi thứ diễn ra tốt đẹp, trong khi các dự án này có thể dễ dàng triển khai bằng XCopy.

Tóm lại, tôi có thể nhận dự án MVC (ví dụ: ví dụ ContactManager) chạy tại: http://servername, HOẶC http://servername/ContactManager. Nhưng ngay sau khi tôi có một dự án ở cả hai địa điểm kinh dị bắt đầu

 
"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... 

Là nó thậm chí có thể có nhiều hơn 1 dự án ASP.NET MVC (ứng dụng) đang chạy trên máy tính Windows XP giống nhau không?

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

Ai đó có thể nêu ra một số điểm đáng chú ý hay gì đó?

+0

@ Alex: câu hỏi hay. @ropstah: bạn có biết nếu cả hai "http: // servername" và "http: // servername/ContactManager" có một ứng dụng (IIS) được liên kết với chúng hoặc là trang "http: // servername/ContactManager" có thể đang chạy trong cùng một ứng dụng như "http: // servername"? –

+0

Cả root và subproject đều có tên ứng dụng riêng. Gốc: "Intranet", Sub: "ContactManager" – Ropstah

Trả lời

4

Có thậm chí có thể có nhiều hơn 1 dự án ASP.NET MVC (ứng dụng), chạy trên cùng một máy Windows XP?

Có, hoàn toàn có thể có nhiều hơn 1 ứng dụng ASP.NET MVC tại cùng một máy Windows XP. Tôi vừa mới tạo hai ứng dụng ASP.NET MVC mới trên máy thử nghiệm chạy Windows XP SP3 mới và chúng hoạt động trơn tru.

CẬP NHẬT:

Tôi vừa mới tạo ứng dụng 3d:

  • đường IIS gốc thay đổi để ứng dụng mà
  • Added lập bản đồ * để C:. \ WINDOWS \ Microsoft .NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll.
  • Kiểm tra truy cập nặc danh

Tuy nhiên tất cả 3 ứng dụng hoạt động rất tốt

CẬP NHẬT:.

Có một vấn đề với bản đồ * để C: \ WINDOWS \ Microsoft. NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll tại gốc máy chủ: tất cả các ứng dụng ASP.NET không đồng bộ MVC của bạn sẽ ngừng hoạt động.

Home này giúp

+0

Đó là câu hỏi của tôi chính xác :). Bạn đã có một dự án ở gốc (máy chủ /), và một dự án là phụ? (server/sub /)? – Ropstah

+0

Có - localhost, localhost/mvcapp1 và localhost/mvcapp2 –

+0

Tôi đã tìm thấy một số thông tin khó chịu trên http://forums.asp.net/t/1406317.aspx Chỉ ra rằng mỗi khi bạn chỉnh sửa trang cái gì đó không đúng với tham chiếu đến Hệ thống .web.mvc.ViewMasterPage. Bạn có thể chỉnh sửa HTML trong trang chủ của mình, xây dựng lại và xem liệu trang web đó có hoạt động không? – Ropstah

1

IIS5.1 đi kèm với XP chỉ hỗ trợ một trang web (nhưng nhiều thư mục ảo). Điều này tôi tin rằng sẽ là yếu tố hạn chế của bạn.

IIS6.x trở lên nơi bạn có nhiều trang web (và nhiều nhóm ứng dụng) được ưu tiên khi cố gắng nhận nhiều ứng dụng MVC trên cùng một máy chủ.

EDIT Bạn luôn có thể sử dụng phiên bản miễn phí VMware Server và chỉ tạo nhiều máy ảo với XP để thử nghiệm/phát triển.

+1

Tôi muốn nâng cấp lên IIS 6.0 cá nhân. – peacedog

+0

Tôi cũng vậy (nếu có thể). –

+0

Tôi đang nói về nhiều trang web dưới dạng ứng dụng. Vì vậy, rootapp tại http: // server/và các ứng dụng con tại http: // server/app1, http: // server/app2, vv .. – Ropstah

0

có 2 ứng dụng riêng biệt được xác định trong IIS không?

+0

Có. Root được gọi là "Intranet", Subproject được gọi là: "ContactManager" – Ropstah

0

Trên XP, giải pháp sẽ là sử dụng máy chủ Apache với Mono 2.4. Nó hoạt động rất tốt với ASP.NET MVC, và thậm chí với SQL Server (< = 2005). Hy vọng rằng, một ngày, chúng ta sẽ thấy điều này được đóng gói với một số phiên bản tương lai của Xamp hoặc EasyPHP :) Điều đó sẽ cho phép tất cả những người tò mò muốn thử.

+0

Giải pháp của bạn trông rất thú vị (ít nhất là đối với tôi) nhưng tôi nghĩ rằng không phải trong trường hợp này –

0

Đảm bảo rằng thư mục gốc của mỗi ứng dụng, trong trình quản lý IIS, được đặt thành một ứng dụng web khác.

+0

Đây là trường hợp. Một dự án WebSetup trong Visual Studio thực hiện điều này tự động bằng cách này. – Ropstah

3

Có điều này là có thể. Tôi có 3 ứng dụng MVC chạy dưới 1 ứng dụng MVC chính.

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

Tuy nhiên, bạn cần kiểm tra các chi tiết sau đây.

  1. kiểm tra các ứng dụng chính và phụ đều được thiết lập để sử dụng ánh xạ ký tự đại diện cho MVC với aspnet_isapi.dll.

  2. do thừa kế của web.configs bạn cần phải thiết lập một tài sản ở gốc ứng dụng MVC của bạn ... quấn quanh này < system.web của bạn>

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

Cảm ơn bạn đã bình luận. Nó không liên quan đến thừa kế web.config mặc dù. Nhưng câu trả lời của bạn là những gì tôi cần biết. Eu-ge-ne nhận được tín dụng để đưa ra câu trả lời (tương tự) trước và cho nỗ lực của mình. Bạn nhận được phiếu bầu cho các câu trả lời ngắn-to-the-point;) – Ropstah

+0

chỉ hy vọng nó đã giúp;) – David

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