.NET应用程序的部署与Java Web应用程序的部署相比如何?

时间:2011-12-14 22:18:35

标签: java .net deployment

我可能不得不在不久的将来支持.NET部署。我需要能够与正在开发此应用程序的人员进行交流,并能够评估他们是否对部署有一些最佳实践,或者,如果我怀疑他们的流程是笨拙的,他们只是混淆了。 / p>

这对我来说是一个问题,因为我是一名Java开发人员而且我不会说.NET。所以我不了解最佳实践应该是什么。

因此,为了将其置于我可以涉及的角度,我想知道部署Java和Java EE Web应用程序与部署.NET应用程序有什么相同和不同之处?

当我将相当基本的Java应用程序部署到Web时,我通常有一个自动化过程从源代码控制获取代码,运行ANT或Maven脚本生成.war文件,将该文件放在webapps目录中,以及然后Tomcat - 或其他一些应用程序服务器 - 膨胀.war文件并使其运行。

.NET中的等效过程是什么?常用的工具有哪些?创建的工件与.war文件的目的相似?什么是常见的不良做法,但应该避免?

2 个答案:

答案 0 :(得分:10)

.Net中的

Assemblies是它所知道的最高级“包”。它们大致相当于Java中的.jar files。在程序集之上有一些系统(如Web Deploy包),但它们被更高级别的工具和插件使用 - 它们不是.Net的核心概念。

而不是Ant,我们有MsBuild

Visual Studio解决方案是Visual Studio项目的组合,Visual Studio项目是MsBuild脚本。您可以使用Visual Studio或MsBuild构建其中任何一个。

the compiler为您编译程序集。您可以使用MsBuild脚本指定将哪些文件编译到程序集中,以及指定引用哪些其他程序集。

.Net程序集可以在GAC中查看程序集(Global Assembly Cache - 这是系统范围的)和程序集在同一目录中。没有像a Java WAR那样加载的魔术库目录。

在.Net方面,IIS既是网络服务器又是应用服务器。

它有一个名为application pools的东西,它在特定用户下运行,并加载特定版本的.Net Framework。您可以在“站点”级别或“应用程序”级别应用这些。

在IIS中,您有“站点”(有时只是“默认网站”),并在该站点下创建“虚拟目录”。然后,您可以“将其标记为应用程序”。将虚拟目录绑定到实际文件系统目录,只需将要部署的文件放入该目录即可。

请参阅:Understanding Sites, Applications, and Virtual Directories on IIS

IIS中没有像Java应用程序服务器那样的部署目录。您将页面和程序集直接放入它所服务的目录中。

但是网站有一个目录结构。您在Visual Studio中构建的项目已经设置为与该层次结构相匹配,因此您只需抓取整个项目文件夹并将其放入IIS中。

如果您想要做一些更自动化的事情,请查看Web Deploy

答案 1 :(得分:0)

一个字IIS。至于我开发的应用程序是我通过IIS部署它们的服务或网站。

用同样的比喻你说。 Visual Studio将构建您的Web应用程序/ Web站点,您可以通过IIS将其部署到Web服务器,并且它是完全可配置的。

可以找到所有步骤和前体here