ASP.NET Web应用程序和ASP.NET网站的区别

时间:2021-08-24 20:25:32

Web Application模型的优点如下:

    网站编译速度快。

    生成的程序集如下:

        Web Site生成随机的程序集名,需要通过插件Web Deployment才可以生成单一程序集。

        Web Application可指定网站项目生成单一程序集,因为是独立的程序集,所以和其他项目一样可以指定应用程序集的名字、版本、输出位置等信息。

    可以将网站拆分成多个项目以方便管理。

    可以从项目中和源代码管理中排除一个文件。

    支持VSTS的Team Build方便每日构建。

    更强大的代码检查功能,并且检查策略受源代码控制。

    可以直接升级使用原来用VS 2003构建的大型系统。

Web Site模型的优点如下:

    动态编译该页面,马上可以看到效果,不用编译整个站点(主要优势)。

    同上,可以使错误的部分和使用的部分互不干扰(可以要求只有编译通过才能签入)。

    可以在每个页面上生成一个程序集(不建议采用这种方式)。

    可以把一个目录当做一个Web应用才处理,直接复制文件就可以发布,不需要项目文件。

    可以把页面也编译到程序集中(一般用不到,Web Application也可以通过Web Deployment插件来实现)。

两种编程模型的互相转换

    VS 2005 SP1和VS 2008都内置了转换程序,可以非常方便地从Web Site转换到Web Application。首先用VS 2008新建一个Web应用程序,然后把你的网站内容复制进去,在解决方案资源管理器里选中你的网站单击鼠标右键,在弹出的快捷菜单中选择“转换为Web应用程序”命令即可。

    未查到有专门的反向转换工具,但经过比较后发现如果转换也非常简单。删除所有*.designer.cs,将*.aspx、*.ascx、*.master页面文件中的Codebehind="FileList.aspx.cs"批量替换成CodeFile="FileList.aspx.cs”。

    相对而言,大网站比较适合用Web Application项目,小网站比较适合用Web Site项目。

注意:VS 2005默认设置不支持ASP.NET Web应用程序类型,需要单独安装VS 2005的补丁SP1才可以支持ASP.NET Web应用程序。

VS 2008安装后默认设置是同时支持这两种类型的。