简要记录下:

1、web应用程序Default.aspx显示有两个原有文件及Default.aspx.cs和Default.aspx.designer.cs;1、Web网站Default.aspx显示有一个原有文件Default.aspx.cs。
2、web应用程序有重新生成和发布两项;Web网站只有一个发布网站。
3、web应用程序和一般的winform没有什么区别都有引用的是命名空间等;Web网站在引用后出现一个bin文件夹那里存放dll和pdb文件。
4、web应用程序可以作为类库被引用;Web网站则不可以作为类库被引用。
5、web应用程序可以添加ASP.Net文件夹中不包括bin、App_Code;Web网站可以添加ASP.Net文件夹包括bin、App_Code。
6、web应用程序还可添加组件和类;Web网站则没有。
7、源文件虽然都是Default.aspx.cs但是web应用程序有命名空间,多了一项System.Collections空间引用。

摘自《ASP.NET 4权威指南》

在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/spring_wang/archive/2013/05/05/3061396.html

WebSite和Web Application\网站与Web项目的区别相关推荐

  1. Web Application:Exploded和Web Application:Archive

    IDEA项目发布中,Web Application:Exploded和Web Application:Archive的详细解释 转载:https://blog.csdn.net/ejiao1233/a ...

  2. IDEA项目发布中,Web Application:Exploded和Web Application:Archive的详细解释

    关于这两者的区别,参考了这个链接参考文章,说得很清楚,感谢分享: 简单总结下: 1.web application exploded:这个是以文件夹形式发布项目,发布项目时就会自动生成文件夹在指定的o ...

  3. Visual Studio中Website和Web Application Project的区别

    Visual Studio 2005/2008/2010中均有两种Web开发模型,分别是Website(网站)和Web Application Project(Web应用程序项目),许多初学者都不是很 ...

  4. VS2008 Web Application和Web Site的区别_转载

    MSDN 原文(英文)地址:http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx 以下是主要内容的中文翻译: Visual Stud ...

  5. VS2008 Web Application和Web Site的区别[转]

    MSDN 原文(英文)地址:http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx 以下是主要内容的中文翻译: Visual Stud ...

  6. ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application

    今天看了Scott关于ASP.NET Core的介绍视频,发现用命令行一步一步新建项目.添加Package.Restore.Build.Run 执行的实现方式,更让容易让我们了解.NET Core的运 ...

  7. VS2005 Web Application Project启用WSE(Ver 3.0)的方法

    使用过WSE的朋友都知道,若要启用Server端Projects的WSE功能,需要选中如下所示的两个单选框:Enable this project for Web Services Enhanceme ...

  8. WEB Application Development Integrator : 应用设置

    2.1.       系统安装 应用 Oracle EBS WEB Application Development Integrator WEB ADI在Oracle EBS 11.5.10.* 版本 ...

  9. web应用程序和web服务

    我们在建立网站服务时,有两种不同的web开发模式: 一.web应用程序(web application):web应用程序是透过http请求来存取web服务器的网页,或执行服务端网页技术的程序,例如:A ...

最新文章

  1. 各种AJAX方法的使用比较
  2. 内存只有100G,要全表扫描一个200G大表,会不会把内存用完?
  3. IntelliJ IDEA 超全优化设置,效率杠杠的!
  4. Hadoop基本原理之一:MapReduce
  5. vue8种组件通信方式
  6. java 多态_Java 多态
  7. 《梦幻西游》打响反盗号战役:为2亿玩家提供360安全武器
  8. OpenCV3.4.1 vs2015 自定义过程的图片拼接
  9. 50套简历模板.7z
  10. 3线8线译码器74HC138门电路设计一位二进制全减器电路
  11. android 使用adb命令安装安卓apk包
  12. React Ant Design 通过 DatePicker获取一周的起止时间
  13. 保护你的 Flutter 应用程序
  14. 实例简述Spring AOP之对AspectJ语法的支持
  15. shell编程中文件安全性的保证
  16. Git fatal unable to auto-detect email address
  17. 计算机作文范文,未来计算机作文范文.docx
  18. win10环境安装使用svn客户端和服务端
  19. 两个整形数组升序合并Java
  20. 嵩天老师python123测验4: 程序的控制结构 (第4周)

热门文章

  1. 80211 发送速率选择算法分析
  2. IO_ADDRESS()的实现【转】
  3. 类的构造器-init和new
  4. beetl的使用感受
  5. msfconsole 无法启动,解决办法
  6. Android自己的自动化测试Monkeyrunner和用法示例
  7. JavaScript:constructor属性
  8. C# 淘宝商品微信返利助手开发-(四)返利助手开发(2)淘宝分享的内容如何只取淘口令
  9. kali linux重启网络服务报错,Web安全学习笔记之在Kali Linux上安装Openvas以及启动失败修复...
  10. javaWeb项目部署至tomcat下classes文件夹没有内容