在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项
其中,Web网站的创建方法:打开Visual Studio 2010主窗体,在菜单栏里选择“文件”|“新建|网站”命令,在弹出的“新建网站”窗体里可以通过“ASP.NET 网站”和“空网站”这两种模板来创建自己的Web网站。Web应用程序的创建方法:打开Visual Studio 2010主窗体,在菜单栏里选择“文件”|“新建|项目”命令,在弹出的“新建项目”窗体里可以通过“web|Asp.net Web应用程序”创建自己的Web应用程序。

它们存在如下不同之处:

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

与Web应用程序相比,Web网站采用了全新的开发结构,一个目录结构就是一个Web项目(不用创建项目文件,可以在studio中直接打开该文件夹),这个目录下的所有文件,都作为项目的一部分而存在。Web网站不可以作为类库被引用。每一个web页都有两个文件:.aspx, .aspx.cs文件,它抛弃了命名空间的概念,每一个网页都没有有命名空间。

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

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

如果在开发上有如下需求,建议使用创建Web应用程序的方式来构建自己的Web项目:
        希望采用项目的管理方式,需要使用多个项目来构建一个Web应用,即把一个大的ASP.NET项目拆分成多个小项目。

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

如果在开发上有下列需求,建议使用创建Web网站的方式来构建自己的Web项目:
       喜欢使用 Single-Page Code 模型来开发网站页面,而不是使用Code-Behind 模型来编写网站页面。
        在编写页面时,为了可以快速地看到编写效果,动态编译该页面,马上可以看到效果,不用编译整个站点。
需要每个页面产生一个应用程序集。
        希望把一个目录当做一个Web应用来处理,而不需要新建一个项目文件。

3. 相同点
        两种工程进行调试时,均可以采用“内置开发服务器”,也可以外部服务器进行调试。使用外部服务器时,需要建立起对应的虚拟目录。启动时均可以有“当前页、特定页、启动外部程序、启动url、不打开页面,等待来自外部的应用程序”几种选项。

http://blog.csdn.net/jesse621/article/details/8462296?reload

VS2010新建Web网站与新建Web应用程序的区别的更多相关文章

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

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

  2. ASP.NET网站与ASP.NET应用程序的区别

    我们使用VS做ASP.NET的时候,可以选择新建ASP.NET应用程序,同时也可以新建ASP.NET网站,两者有什么具体区别呢?今天真是很幸运,比别人多上了老师一节课,讲的是这两者之间的一些区别.我学 ...

  3. VS2010新建Web网站与新建Web应用程序的区别 (转)

    在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...

  4. [ASP.NET]Web网站与Web应用程序区别

    [ASP.NET]Web网站与Web应用程序区别   本文链接:https://blog.csdn.net/a954553391/article/details/86403521 前言:在项目开发中, ...

  5. 谷歌宣称web组件才是web开发的未来

    谷歌宣称web组件才是web开发的未来 虽然今年的谷歌I/O大会没有出现像去年谷歌眼镜发布时直播疯狂跳伞这样的活动,但是上周仍然有不少产品推出.谷歌宣布对谷歌地图.搜索.安卓,以及其他 很多产品做出更 ...

  6. 菜鸟疑问之新建网站与新建web应用程序区别

    学习asp.net一定少不了这困惑:新建网站与新建web应用程序有什么区别? 新建web应用程序 新建网站 呵呵,其实从名字看一个是webApplication,一个是webSite.名字不同罢了? ...

  7. 新建网站与新建Asp.Net Web 应用程序的区别

    .net网站和应用程序区别,网站是动态执行的不用编译,他只依赖于自己的文档本身,甚至你用aspx里直接写jsp代码都可以,其实网站可以说只是在.net平台中打开的文档,相当于最初的记事本编码,他并不需 ...

  8. VS中新建网站和新建项目web应用程序的区别?(实际应用总结一点)

    1,在网站中是没有命名空间namespace这个概念的.例如公共类只有放在App_Code里(不但是公共类,所有的类都应放在这里),其他的类或者页面才可以引用.有using这个概念,但没有namesp ...

  9. ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题

    ] 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题 标签: myeclipsejavawebWeb App Libraries 2013-10-16 1 ...

随机推荐

  1. Vim 命令 【转】

    高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx     开始记录宏,并将结果存入寄存器xq     退出记录模式@x     播放记录在x寄存器中的宏命 ...

  2. Cordic 算法的原理介绍

    cordic 算法知道正弦和余弦值,求反正切,即角度. 采用用不断的旋转求出对应的正弦余弦值,是一种近似求解发. 旋转的角度很讲求,每次旋转的角度必须使得 正切值近似等于 1/(2^N).旋转的目的是 ...

  3. Ansible@一个有效的配置管理工具--Ansible configure management--翻译(四)

    不要未经书面许可转载 第三章是长,因为,我会分几个部分来翻译. Advanced Playbooks So far the playbooks that we have looked at are s ...

  4. 微信JS-SDK使用权限签名算法的服务端实现(.net版本)

    原文:微信JS-SDK使用权限签名算法的服务端实现(.net版本) 一.概要 微信此次开放JS接口,开放了一大批api权限,即使在未认证的订阅号也可以使用图像接口,音频接口,智能接口,地理位置,界面操 ...

  5. TFS 2010 使安装更容易,让VSS历史

    一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号 ...

  6. Oracle中使用Entity Framework 6.x Code-First

    Oracle中使用Entity Framework 6.x Code-First方式开发 去年写过一篇EF的简单学习笔记,当时EF还不支持Oracle的Code-First开发模式,今天无意又看了下O ...

  7. java字节中的基本类型的职业的数目 (采访总是问)

    因为移动装置存储器中的移动开发的局限性,数据的字节数需要考虑往往在占领中使用的类型. 下面介绍下一个Java,以加深记忆. 在Java中一共同拥有8种基本数据类型,当中有4种整型,2种浮点类型,1种用 ...

  8. RQNOJ PID2 / 开心的金明

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”.今 ...

  9. hdu3689(kmp+dp)

    题意:问随机生成一个长度为m(m<=1000)长度的字符串,出现某个子串s的概率是多少. 解法:dp+kmp优化.ans[i][j]表示i长度,走到了s的j位置的概率,当然这是在i之前没有出现s ...

  10. 【百度地图API】如何制作班级地理通讯录?LBS通讯录

    原文:[百度地图API]如何制作班级地理通讯录?LBS通讯录 摘要:班级通讯录必备的功能,比如人员列表,人员地理位置标注,展示复杂信息窗口,公交和驾车等.一般班级人员都不会超过300个,因为可以高效地 ...