当我在Visual Studio中启动新的ASP.NET项目时,我可以创建ASP.NET Web应用程序,也可以创建ASP.NET网站。

ASP.NET Web应用程序和ASP.NET网站之间的区别是什么?为什么我会选择一个而不是另一个?

答案是否因我使用的Visual Studio版本而异?


当前回答

应用程序通常在部署之前编译,因为网站使用app_code目录。当应用程序代码文件夹中发生任何更改时,服务器将重新编译代码。这意味着您可以随时在网站上添加/更改代码。

应用程序的优点是无需重新编译,因此初始启动时间会更快。

其他回答

是的,web应用程序比网站好得多,因为web应用程序给了我们自由:

在一个伞下有多个项目并建立项目之间的依赖关系。例如,对于PCS,我们可以在web中进行以下操作应用程序-Web门户通知控制器(用于发送电子邮件)业务层数据访问层异常管理器服务器实用程序WCF服务(所有平台通用)列表项目对类文件中的代码运行单元测试与ASP.NET页面关联参考以下类别与独立类中的页面和用户控件关联为整个站点创建单个部件的步骤控制为站点生成的程序集名称和版本号避免将源代码放在生产服务器上。(你可以避免将源代码部署到IIS服务器。在某些情况下,例如共享托管环境,您可能会担心未经授权访问IIS服务器上的源代码。(对于web站点项目,您可以通过在开发计算机并部署生成的程序集源代码的。然而,在这种情况下轻松更新网站的好处。)网站性能问题(对网站的第一请求可能需要编译网站,这可能导致延迟。如果网站运行在内存不足的IIS服务器,包括单个程序集使用的内存可能比多个组件。)

应用程序通常在部署之前编译,因为网站使用app_code目录。当应用程序代码文件夹中发生任何更改时,服务器将重新编译代码。这意味着您可以随时在网站上添加/更改代码。

应用程序的优点是无需重新编译,因此初始启动时间会更快。

其中一个关键区别是网站动态编译和动态创建程序集。Web应用程序编译成一个大型程序集。

Visual Studio 2008中消除了两者之间的区别。

这取决于你在发展什么。

一个以内容为导向的网站会经常改变其内容,而网站更适合于此。

应用程序倾向于将其数据存储在数据库中,其页面和代码很少更改。在这种情况下,最好有一个Web应用程序,其中程序集的部署更受控制,并且更好地支持单元测试。

网站和Project>>网站是使用visual studio创建ASP.NET应用程序的两种不同方法。一个是无项目的,另一个是项目环境。差异如下

解决方案文件存储在项目环境中与根目录相同的目录中。在项目环境中部署之前,需要删除解决方案和项目文件。完整的根目录部署在无项目环境中。

使用这两种方法都没有太大的基本区别。但如果您创建的网站需要更长的时间,请选择项目环境。