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

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

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


当前回答

网站=当网站由图形设计师创建且程序员仅编辑一到两页时使用

Web应用程序=当应用程序由程序员创建且图形设计师仅编辑一页或两页/图像时使用。

网站可以使用任何HTML工具进行工作,而不必使用开发人员工作室,因为项目文件不需要更新等。当团队主要使用开发人员studio并且代码内容较高时,Web应用程序是最佳的。

(某些编码错误在编译时在Web应用程序中发现,直到运行时才在Web站点中发现。)

警告:我多年前就写过这个答案,之后就再也没有使用Asp.net了。我想事情已经开始了。

其他回答

这始终取决于客户的要求。ASP.NET仅包含用户需要的灵活功能,以确保应用程序的安全性和易于维护。

您可以将Web应用程序视为在ASP.NET框架内运行的二进制文件。网站是一个静态网页,您可以查看并轻松部署源代码。

但这两种ASP.NET技术的优点和缺点都是好的。

这取决于你在发展什么。

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

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

这里Web支持应用程序是网站的一个示例。网站和Web应用程序都可以是动态/静态的,这取决于需求,这里有一个例子来理解网站和Web程序的工作。

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

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

MSDN中有一篇文章描述了这些差异:

比较网站项目和Web应用程序项目

BTW:关于这个话题有一些类似的问题,例如:

Visual Studio中的网站与ASP.Net Web应用程序之比较注意:已删除,不再在SO中ASP.NET中的网站或Web应用程序