前言

在利用VS2010创建web项目的时候,会有两个选择。可以选择直接创建website网站,还可以选择使用

webapplication应用程序。刚刚接触web开发,看到这两个就疑惑了,既然是都可以,那为什么有两个呢?这样

的分开,肯定是有它的道理的。下面是我对这个问题进行的一些总结,都是从网上找的一些资料,与大家分

享。

website

中文名称网站,是指在互联网上,根据一定的规则,使用HTML、ASP等代码语言制作的用于展示特

定内容的相关网页的集合,有可供管理人员操作的后台及用户使用的前台。从网上查到的很多资料中,website

是为了适应兼容从ASP转过来的开发人员的习惯而存在的,例如:不需要创建命名空间、cs修改代码后不需要

重启就可以直接使用。

1.优点

a.动态编译该页面,马上可以看到效果.不需要重新编译整个项目;直接用刷新就能够直接在浏览器中看到

更改后的效果。这也是website的最大的优势。

b.可以每个页面生成一个程序集,可以把页面也编译到程序集中

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

2.缺点

a.你可以在项目开发时候新建各种文件夹来辨别各种文件,但是在发布后生成的bin文件比较乱难以管。Bin

文件都是一些项目保存后的程序集的集合。

Webapplication

同样webapplication是微软为了让程序员更好从winform过渡到web开发而保留的。是由工程文件组织网站的,有

一些特殊的文件夹bin、App_code、资源文件、主题文件夹等。如果用记事本打开工程文件,可以看到工程中的

文件都在其中。你可以在visualstudio中指定每个文件编译时的模式,比如是代码文件(将进行编译)、网站内

容文件(不编译,即使是.cs文件)、资源文件等等。另外可以指定每个文件发布时是否被排除。项目编译时一般

根据namespace不同把可编译的文件都编译进相应的assembly文件(dll文件).

1.优点

a.网站编译速度快,使用了增量编译模式,仅仅只有文件被修改后,这部分才会被增量编译进去。

b.生成的程序集编译成一个dll,便于管理,bin目录下的文件不会太多,什么东东多了就不好管理了。

c.可以指定网站项目生成单一程序集,因为是独立的程序集,所以和其他项目一样可以指定应用程序

集的名字、版本、输出位置等信息

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

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

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

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

i.可以对编译前后进行自己规定的处理

j.直接升级使用VS2003构建的大型系统

website和webapplication不同点

1、web应用程序Default.aspx显示有两个原有文件及Default.aspx.cs和efault.aspx.designer.cs;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网站则没有。

它们之间的转换

1.将website转换为webapplication:

网上传说直接可以从右键转换为website,反正我是没有找到。只能自己先新建要给web应用程序将所

需网站内容添加进去

2.将webapplication转换为website:

删除所有*.designer.cs

将*.aspx、*.ascx、*.master页面文件中的Codebehind="FileList.aspx.cs" 批量替换成

CodeFile="FileList.aspx.cs"

总结

简单来说,website适合简单、小型的网站项目。web适用于大型的网站项目。这是我在总结这些知识中

看到最多的一句话。另外,在新建website项目,大家不知道有没有发现这个项目没有sln文件,其实也不是没有

只是另外放在了计算机中的库中的文档中的vs2010文档中了。这样我们打开项目只能是在vs打开的环境下,打

开网站读取整个文件目录啦。而webapplication直接存在sln文件,直接打开就可以了。有人说了,website的sln复

制过来,能不能打开呢?答案是不可以的,可能由于一些路径和配置信息的原因,打开之后项目不能后完全打

开。

以下推荐的一些详细介绍的链接,有兴趣的可以自己再深入研究一下

http://blog.csdn.net/dongxiaohui2008/article/details/8081615

http://blog.csdn.net/zyyjc/article/details/6150231

http://bbs.csdn.net/topics/110051268

web项目的两个创建形式website和webapplication的更多相关文章

  1. web项目的两个创建形式website和webapplication(转)

    前言 在利用VS2010创建web项目的时候,会有两个选择.可以选择直接创建website网站,还可以选择使用 webapplication应用程序.刚刚接触web开发,看到这两个就疑惑了,既然是都可 ...

  2. spring boot 搭建web项目常见五种返回形式

    在web项目中一般常见的五种返回形式: 返回页面,使用模板引擎,spring boot推荐使用thymeleaf,类似的还有freemarker等. 返回字符串(json),一般用于完全的前后端分离开 ...

  3. eclipse中创建了web项目,src下创建子目录是平级的情况

    1.在以下可设置不同的视图 windows->show view菜单 ->点Other......    然后在搜索框里输入你想要的视图 2.在Project Explorer下创建的包看 ...

  4. Intellij IDEA创建Maven Web项目

    1前言 在创建项目中,IDEA提供了非常多项目模板,比方Spring MVC模板,能够直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就能够使用. 最開 ...

  5. Intellij IDEA创建Maven Web项目<转>

    1前言 在创建项目中,IDEA提供了很多项目模板,比如Spring MVC模板,可以直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就可以使用. 最开始 ...

  6. IntelliJ IDEA14 和 Maven 系列:使用IntelliJ IDEA 14和Maven 7 创建java web项目(一)

    Intellij IDEA作为最好的Java IDE,创建Maven项目还是比较简单的,但是创建一个Maven Web项目还是要修改一些配置的,下面进行总结整理. 1前言 在创建项目中,IDEA提供了 ...

  7. MyEclipse创建Web项目入门指南

    MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 本教程将指导您创建和部署简单的Hello World Web项目.在本教程中,您将学习如何: 创建一个 ...

  8. Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...

  9. ItelliJ IDEA开发工具使用—创建一个web项目

    转   http://blog.csdn.net/wangyang1354/article/details/50452806 最近想用IDEA编辑器开发,但是平时都用MyEclipse和eclipse ...

随机推荐

  1. java通过jsp的Excel导出

    在项目中一般导出报表用poi,可是假设你不想用框架就用简单的jsp也能够实现报表导出.并且实现起来还特别简单. 先看一下效果截图: 点击导出后的效果截图: 详细实现: 第一:在页面的列表页面中就是普通 ...

  2. Unity 触屏缩放模型

    现在的手机都是触屏控制的,那么在游戏中我们想通过手指在屏幕上滑动捕获相应的动作呢?Unity官网API中提供了Input类和Touch类,在该类里提供了许多接口.相信只要我们稍微看下,就可以自己应用了 ...

  3. avalon学习笔记一 列表及条件过滤

    好长时间都没有更新博客了,不是因为没有学习新的东西,而是到了新的单位每天玩命加班实在是太累了!经过一年的努力吧,终于可以轻松一下了.废话少说,直接干货吧! 由于是学习阶段,就直接拿了公司的二级页面做了 ...

  4. CSS 盒子模型(转)

    CSS中, Box Model叫盒子模型(或框模型),Box Model规定了元素框处理元素内容(element content).内边距(padding).边框(border) 和 外边距(marg ...

  5. js 计算两个日期之间的周数

    //返回两个日期相差的周数 function WeeksBetw(date1, date2) { //这里的date1,date2都是Date对象 var d1 = new Date(date1); ...

  6. java必备基础知识(一)

    学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...

  7. Cocos2d-x 3.0 场景切换

    场景切换要用到导演类Director,一般有两种方式,大多数是用替换场景(replaceScene),也可以用进栈(pushScene)出栈(popScene)的方式进行场景的替换. 场景切换代码: ...

  8. jQuery proxy详解

    第一次接触jQuery.proxy()时感觉这个方法不实用,不明白它到底是个什么意思.今天来将jQuery官网上的解释进行一下翻译,顺便添加自己的理解和一些示例.proxy也可称为代理. jQuery ...

  9. jquery-1.10.2 获取checkbox的checked属性总是undefined

    项目中用的jquery-1.10.2 需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined ...

  10. android 登录界面

    http://blog.csdn.net/jiabinjlu/article/details/6920967 http://blog.csdn.net/myserverthepeople/articl ...