http://www.cnblogs.com/lengjunming/archive/2011/02/15/1955504.html

http://book.51cto.com/art/201010/231255.htm

新建Web网站与新建Web应用程序的区别

在Visual Studio 2010中,除了可以使用创建Web应用程序的方式来构建自己的Web项目之外,还可以通过创建Web网站的方式来构建Web项目。

其中,Web网站的创建方法:打开Visual Studio 2010主窗体,在工具栏里选择“New”|“Web Site”命令,在弹出的New Web Site窗体里可以通过“ASP.NET Web Site”和“Empty Web Site”这两种模板来创建自己的Web网站。

其实,微软早在Visual Studio 2005的时候就提供了新建Web网站的功能,它是完全面向Web开发的。与Web应用程序相比,它们存在如下不同之处:

1. 从整体结构来看

Web应用程序和一般的Winform程序没有什么区别,它们都是按项目进行管理的,只有被项目文件所引用的文件才会在Solution Explorer中出现,而且只有这些文件才会被编译。可以很容易地把一个ASP.NET应用拆分成多个Visual Studio项目,也可以很容易地从项目和源代码管理中排除一个文件。而项目的文件都是按照命名空间来管理的,Web应用程序可以非常方便地引用其他的类库,并且自己本身也可以作为类库被引用,非常适合于项目分模板进行开发。因此,有人认为Web应用程序可能是微软为了让程序员很好地从Winform过渡到Web开发而保留了。

与Web应用程序相比,Web网站采用了全新的开发结构,一个目录结构就是一个Web项目,这个目录下的所有文件,都作为项目的一部分而存在。它抛弃了命名空间的概念,并且Web网站不可以作为类库被引用。

2. 从编译部署看

调试或者运行Web应用程序页面的时候,必须全部编译整个Web项目。编译整个Web项目通常比较快,因为Visual Studio使用了增量编译模式,仅仅只有文件被修改后,这部分才会被增量编译进去。因为所有的类文件被编译成一个应用程序集,当你部署的时候,只需要把这个应用程序集和 .aspx文件、.ascx文件、配置文件以及其他静态内容文件一起部署。这种模型下,.aspx 文件将不被编译,当浏览器访问这个页面的时候,才会被动态编译。

而在Web网站项目中的所有的Code-Behind 类文件和独立类文件都被编译成一个独立的应用程序集,这个应用程序集被放在Bin目录下。因为是一个独立的应用程序集,你能够指定应用程序集的名字、版本、输出位置等信息。在默认情况下,当你运行或调试任何Web页的时候,Visual Studio会完全编译Web网站项目,这么做可以让你看到编译时的所有错误。但是,在开发进程中,完全编译整个站点会是相当慢的。所以推荐你在开发调试中只编译当前页。

根据上面的阐述,可以自行决定选择创建Web项目的方式。如果在开发上有如下需求,建议使用创建Web应用程序的方式来构建自己的Web项目:

希望采用项目的管理方式,需要使用多个项目来构建一个Web应用,即把一个大的ASP.NET项目拆分成多个小项目。

在开发上Web页面或者Web用户控件中需要使用到单独的类,并且希望使用命名空间来进行管理,编译后要控制应用程序集的名字。

如果在开发上有下列需求,建议使用创建Web网站的方式来构建自己的Web项目:

喜欢使用 Single-Page Code 模型来开发网站页面,而不是使用Code-Behind 模型来编写网站页面。

在编写页面时,为了可以快速地看到编写效果,动态编译该页面,马上可以看到效果,不用编译整个站点。

需要每个页面产生一个应用程序集。

希望把一个目录当做一个Web应用来处理,而不需要新建一个项目文件。

转载于:https://www.cnblogs.com/strugglesMen/archive/2011/04/01/2001681.html

[zz]ASP.net中新建Web网站与新建Web应用程序的区别相关推荐

  1. java8生成jsp页面内容组装到jsp中_JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  2. JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  3. 基于ASP.NET的日语学习网站 毕业设计成品讲解(程序+论文)-王翔-专题视频课程...

    基于ASP.NET的日语学习网站 毕业设计成品讲解(程序+论文)-1467人已学习 课程介绍         本文是基于ASP.NET的日语学习网站的毕业设计成品讲解,包括整套网站程序.数据库和配套的 ...

  4. 新建Web网站与新建Web应用程序的区别

    为什么80%的码农都做不了架构师?>>>    在Visual Studio 2010中,除了可以使用创建Web应用程序的方式来构建自己的Web项目之外,还可以通过创建Web网站的方 ...

  5. VS2010新建Web网站与新建Web应用程序的区别

    在Visual Studio 2010中,除了可以使用"创建Web应用程序"的方式来构建自己的Web项目之外,还可以通过创建"Web网站"的方式来构建Web项 ...

  6. 【转】VS2010新建Web网站与新建Web应用程序的区别

    在Visual Studio 2010中,除了可以使用"创建Web应用程序"的方式来构建自己的Web项目之外,还可以通过创建"Web网站"的方式来构建Web项 ...

  7. asp.net中@page指令的属性Inherits、Src、CodeBehind区别

    Inherits.Src.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. 通常一个 @page 指令 ...

  8. 【转】asp.net中@page指令的属性Inherits、Src、CodeBehind区别

    Inherits.Src.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. 通常一个 @page 指令 ...

  9. .net Web网站转换成Web应用程序 备忘

    1.新建Web应用程序,把Web网站代码全部粘贴进来 2.添加所有原来引用 3.[*]Web应用程序不再自动预编译App_Code文件夹,但是会编译任何文件夹下的类文件(除App_Code), 所有给 ...

最新文章

  1. (2)神经网络编程基础
  2. 周五晚上看了变形金刚
  3. Vivado下生成及烧写MCS文件
  4. 第一个Qt+opencv程序
  5. c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装2
  6. sql server与oracle的分页,详解SQLServer和Oracle的分页查询
  7. 《玩转D语言系列》二、D语言现状、基本规定和相关资源介绍
  8. python科学数据分析_python数据分析-科学计数法
  9. 【HDU5299】Circles Game,圆的扫描线+树上删边游戏
  10. 数学连乘和累加运算符号_数学符号归纳
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的仓库管理系统
  12. using在sql中是什么意思_扇贝英语地道表达法——“call for”是什么意思呢?
  13. vba判断是否为数字的方法小集
  14. fork/join框架Java
  15. cad多个窗口并排显示_如何创建包含 CAD 导入和选择的仿真 App
  16. VMWare mac os x 优化神器 beamoff
  17. Oracle物化视图的刷新
  18. unity3d 嵌入 移动MM SDK 闪退的问题
  19. 连续分配存储管理,覆盖交换和存储碎片
  20. mysql中%3c%3e和=_如何巧妙去除隐藏“站长统计”文字链接?

热门文章

  1. ftp 查看不了图片_几个常见的ftp错误问题及解决办法
  2. Java String到int,Java int到String
  3. 股票beta值的均值_如何在R中找到值的均值
  4. java访问修饰符_Java访问修饰符
  5. Java Socket 通信实例 - 转载
  6. 爬虫调用百度翻译API
  7. C# webservice 配置总结
  8. Windows10与Vmware配置Windowsserver2003共享磁盘
  9. C++ STL 学习笔记__(6)优先级队列priority_queue基本操作
  10. Vim 编辑器底端 [noeol], [dos] 的含义