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

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

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


当前回答

总结以上一些答案:

灵活性,您可以对网页进行实时更改吗?

网站:可能。赞成:短期利益。缺点:项目混乱的长期风险。

Web应用程序:不可能。编辑页面,将更改存档到源代码管理,然后构建和部署整个站点。专业:保持高质量的项目。

发展问题

网站:没有.csproj文件的简单项目结构。两个.aspx页面可以具有相同的类名,而不会发生冲突。随机项目目录名导致生成错误,如为什么.net框架与自己生成的文件冲突,以及为什么.net框架与其自己生成的文档冲突。专业人士:简单(简单化)。缺点:不稳定。

Web应用程序:项目结构类似于WebForms项目,具有.csproj文件。asp页面的类名必须是唯一的。专业:简单(智能)。缺点:没有,因为网络应用程序仍然很简单。

其他回答

网站-不会创建解决方案文件。如果我们想创建网站,不需要visual studio。

Web应用程序-将创建解决方案文件。如果我们想创建web应用程序,应该需要visual studio。它将在bin文件夹中创建一个.dll文件。

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

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

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

在web应用程序中,您可以创建项目功能的层,并通过将其划分为多个项目来创建它们之间的相互依赖关系,但您永远无法在网站上做到这一点。

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

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

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

Web应用程序需要更多的内存,可能是因为您别无选择,只能编译成一个程序集。我刚刚将一个大型遗留站点转换为web应用程序,在编译时内存不足,错误消息如下:

Unexpected error writing metadata to file '' -- 
Not enough storage is available to complete this operation. 

错误,并在运行时显示以下错误消息:

Exception information: 
    Exception type: HttpException 
    Exception message: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()

我对在内存受限的传统硬件上转换大型站点的建议是,选择恢复到网站模型的选项。即使在最初的成功之后,问题也可能会在以后慢慢出现。