2011-12-14 40 views
8

Tôi có thể phải hỗ trợ triển khai .NET trong tương lai gần. Tôi cần có khả năng nói chuyện với những người đang phát triển ứng dụng này và có thể đánh giá nếu họ có ý thức thực hành tốt nhất để triển khai, hoặc nếu tôi nghi ngờ, quy trình của họ là kludgy và họ chỉ lúng túng.Việc triển khai các ứng dụng .NET so với việc triển khai các ứng dụng web Java như thế nào?

Đây là vấn đề đối với tôi vì tôi là nhà phát triển Java và tôi không nói .NET. Vì vậy, tôi không có một sự hiểu biết về những gì các thực hành tốt nhất nên được.

Vì vậy, để đưa nó vào quan điểm mà tôi có thể liên quan đến, tôi muốn biết điều gì là giống nhau và những gì khác về triển khai các ứng dụng web Java và Java EE so với triển khai các ứng dụng .NET?

Khi tôi triển khai ứng dụng Java cơ bản lên web, tôi thường có quy trình tự động nhận mã từ kiểm soát nguồn, chạy tập lệnh ANT hoặc Maven để tạo tệp .war, thả tệp đó vào thư mục webapps, và sau đó Tomcat - hoặc một số máy chủ ứng dụng khác - thổi phồng tệp .war và làm cho nó chạy.

Quy trình tương đương sẽ có trong .NET là gì? Những công cụ nào thường được sử dụng? Tạo phẩm nào được tạo ra có mục đích tương tự với tệp .war? Thực hành xấu là gì, nhưng nên tránh?

+0

Tôi không có kinh nghiệm với điều này, vì vậy tôi không thể thực sự khuyên bạn nên nó, nhưng tôi đã đọc rằng nó có thể [lưu trữ một ứng dụng ASP.NET với Apache] (http://weblogs.asp.net/israelio /archive/2005/09/11/424852.aspx). –

+0

kludgy ......... ?? – Celt

Trả lời

8

Assemblies trong Net là mức cao nhất "gói" nó biết về. Chúng tương đương với .jar files trong Java. Có những hệ thống trên đầu trang của các hội đồng (như các gói Web Deploy), nhưng các hệ thống này được sử dụng bởi các công cụ và trình bổ sung mức cao hơn - chúng không phải là khái niệm cốt lõi của .Net.

Thay vì Ant, chúng tôi có MsBuild.

Giải pháp Visual Studio là các kết hợp của Visual Studio Projects và Visual Studio Projects là các tập lệnh MsBuild. Bạn có thể xây dựng một trong số chúng với Visual Studio, hoặc MsBuild.

Hội đồng được biên soạn cho bạn theo số the compiler. Bạn sử dụng một kịch bản MsBuild để chỉ định các tập tin nào được biên dịch vào trong assembly, và để chỉ định các assembly khác được tham chiếu.

.Các hội đồng mạng có thể xem các hội đồng trong GAC (Global Assembly Cache - đây là hệ thống rộng) và các hội đồng trong cùng một thư mục. Không có thư mục thư viện ma thuật nào được tải lên như có từ a Java WAR.

Ở bên .Net, IIS là cả máy chủ web và máy chủ ứng dụng.

Nó có một thứ gọi là application pools chạy dưới một người dùng cụ thể và tải phiên bản cụ thể của .Net Framework. Bạn có thể áp dụng chúng ở cấp "trang web" hoặc cấp "ứng dụng".

Trong IIS, bạn có "trang web" (đôi khi chỉ là "Trang web mặc định") và bạn tạo một "thư mục ảo" trong trang web đó. Sau đó, bạn có thể "đánh dấu nó là một ứng dụng". Bạn liên kết các thư mục ảo với các thư mục hệ thống tệp thực và bạn có thể chỉ cần thả các tệp mà bạn đang triển khai vào thư mục đó.

Xem: Understanding Sites, Applications, and Virtual Directories on IIS

Không có thư mục triển khai trong IIS như có máy chủ ứng dụng Java. Bạn thả các trang và cụm của bạn thẳng vào thư mục mà nó được phục vụ từ đó.

Nhưng có cấu trúc thư mục cho trang web. Các dự án bạn đã xây dựng trong Visual Studio đã được thiết lập để phù hợp với hệ thống phân cấp đó, vì vậy bạn có thể chỉ cần lấy toàn bộ thư mục dự án và ném nó vào IIS.

Nếu bạn muốn làm điều gì đó tự động hơn một chút, hãy xem Web Deploy.

0

Một từ IIS. Đối với các ứng dụng tôi đã phát triển được nó là dịch vụ hoặc trang web tôi triển khai chúng thông qua IIS.

Tương tự như bạn đã nói. Visual Studio kết quả đầu ra xây dựng hoặc ứng dụng web của bạn/trang web mà bạn có thể triển khai đến máy chủ web thông qua IIS và nó có thể cấu hình đầy đủ.

Tất cả các bước và tiền chất có thể được tìm thấy here

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