`
369540808
  • 浏览: 197132 次
文章分类
社区版块
存档分类
最新评论

web项目的两个创建形式website和webapplication

 
阅读更多

前言

在利用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.支持VSTSTeam Build方便每日构建

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

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

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

websitewebapplication不同点

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文件,直接打开就可以了。有人说了,websitesln

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

开。

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

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

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

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


分享到:
评论

相关推荐

    ASP.NET的网页代码模型及生命周期

    在ASP.NET的代码隐藏页模型中,一个完整的.aspx页面包含两个页面,分别是以.aspx和.cs文件为后缀的文件,这两个文件在形成了整个Web窗体。在编译的过程中都被编译成由项目生成的动态链接库(.DLL),同时,.aspx页面...

    asp.net知识库

    通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到...

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    6-03.aspx 使用CompareValidator控件比较两个控件的值。 6-04.aspx CompareValidator控件比较一个控件的值与固定值。 6-05.aspx CompareValidator控件执行数据类型检查。 6-06.aspx ...

    在线考试系统文献综述

    因此Web结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层...

    NeuralArt-Website:NeuralArt一个实现神经风格转换的网站:artist_palette::paintbrush:

    神经样式转换是一种优化技术,可拍摄两个图像 内容图像。 样式参考图像(例如,著名画家的艺术品)并将其融合在一起,以便输出图像看起来像内容图像,但以样式参考图像的样式“绘制”。 Gatys等人(一种艺术风格的...

    零基础学ASP.NET 2.0&源代码绝对完整版1

    6-03.aspx 使用CompareValidator控件比较两个控件的值。 6-04.aspx CompareValidator控件比较一个控件的值与固定值。 6-05.aspx CompareValidator控件执行数据类型检查。 6-06.aspx RangeValidator控件的使用。 ...

    dictmaker:一个独立的Web服务器应用程序,用于快速构建和发布适用于任何语言的完整的词典网站和API

    Postgres数据库中只有两个表(条目,关系)的字典数据的通用条目关系(许多)条目结构 完全基于使用令牌的Postgres全文搜索 适用于任何语言。 插入外部令牌生成器或使用Postgres支持的内置令牌生成器进行搜索 在...

    PHPershou.zip

    如今,随着电子商务的不断发展完善,大学校园也需要一个能为学生提供二手物品交易的专用网站,以便发布各种商品信息。  本设计具有一般电子商务的功能,且体现出校园风格。该系统提供的功能包括注册、查询信息、...

    nestjs-react-graphql-boilerplate:基于这些坏男孩GraphQL Postgresql Nestjs React的Fullstack Web App样板

    基于这些坏男孩GraphQL / Postgresql / Nestjs / React的Fullstack Web App样板 :face_blowing_a_kiss: 后端 必须阅读(重要)样板的后端如上所述是基于Nestjs的,这是一个非常强大的后端框架,并且由于该样板全部...

    OmPad:OmPad是HTML5记事本,用于存储笔记,文本甚至诗歌

    OmPad 什么是OmPad?... 您可以获取代码并创建自己的版本和样式。 所有注释和设置都通过HTML5 LocalStorage保存,这使您可以在离线时使用OmPad。 问题与联系 有任何问题,想法或建议吗? 联系 。 谢谢

Global site tag (gtag.js) - Google Analytics