Vs2005和VS2008中都有建立web应用程序和Web网站,总搞的大家不知所戳。
web应用程序可能是微软为了让程序员很好的从winform过渡到web开发而保留了。Web网站就完全要应用到web开发的。其实两者之间没有什么大的区别,自己从表象总结了一下他们的异同点。
相同:
1、都是设计Asp网页的。
2、都可以添加ASP.Net文件夹(都包括App_Browsers、App_Data、App_GlobalResources、App_LocalResources、App_Themes)。
不同:
1、web应用程序Default.aspx显示有两个原有文件及Default.aspx.cs和Default.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网站则没有。
7、源文件虽然都是Default.aspx.cs但是web应用程序有命名空间,多了一项System.Collections空间引用。
原vs.net2005 中没有web应用程序项目。只有新建网站的功能。SP1中增加了web应用程序的功能。此功能推出,满足了众多VS.NET2003开发网站的朋友们。
vs2005的“网站”项目中。其实也有一些优点。原来的vs2003和VS2005SP1中的WEB应用程序.是将整个网站应用程序编译成一个DLL。而网站项目中是对每个aspx生成的代码文件,单独编译。特殊目录App_Code中代码文件才编译成单独一个程序集。这种设计。可以单独生成一个页和该页程序集。上传的时候,可以只更新此页。
但这个“网站”项目,编译速度慢,类型检查不彻底。两个不同的ASPX可以生成相同的两个名称的类。发布的时候,也很慢,会删除所有原始发布目录中的所有文件,且复制所有新的文件。并且中间还有停顿,需要用户主动按覆盖文件的按钮才能发布。
而在SP1中的WEB应用程序中,编译和发布速度中,明显变快,发布的时候一开始就可以设置是否覆盖。原来的网站要升级过来,需要生成一个设计类代码页。有了此文件,编译的时候,编译器就不用再分析ASPX页面了。明显加快了编译速度。且只生成一个程序集。执行的速度页快了。
WebApplication编程模型的优点:
●编译速度快,使用非增量编译模式,编译成单独的dll方便管理,。
●生成的程序集
WebSite:生成随机的程序集名,需要通过插件WebDeployment才可以生成单一程序集
WebApplication:可以指定网站项目生成单一程序集,因为是独立的程序集,所以和其他项目一样可以指定应用程序集的名字、版本、输出位置等信息
●可以将网站拆分成多个项目以方便管理
●可以从项目中和源代码管理中排除一个文件
●支持VSTS的Team Build方便每日构建
●更强大的代码检查功能,并且检查策略受源代码控制
●可以对编译前后进行自己规定的处理
●对App_GlobalResources 的Resource强类支持(网上说的,还没有了解过)
●直接升级使用VS2003构建的大型系统
WebSite编程模型的优点:
●动态编译该页面,马上可以看到效果,不用编译整个站点(主要优势)
●同上,可以使错误的部分和使用的部分不相干扰(可以要求只有编译通过才能签入)
●可以每个页面生成一个程序集(不会采用这种方式)
●可以把一个目录当做一个Web应用来处理,直接复制文件就可以发布,不需要项目文件(无所谓,只适合小站点)
●可以把页面也编译到程序集中(应该用不到,而且WebApplication也可以通过WebDeployment插件来实现)
两种编程模型的互相转换:
VS2005 SP1内置了转换程序,可以非常方便的从WebSite转换到WebApplication
只需要复制文件,右键执行“转换为Web应用程序”即可。
未查到有专门的反向转换工具,但比较后发现如果转换也非常简单。
删除所有*.designer.cs
将*.aspx、*.ascx、*.master页面文件中的 Codebehind="FileList.aspx.cs" 批量替换成 CodeFile="FileList.aspx.cs"
分享到:
相关推荐
Web 应用程序和 Web 网站区别 Asp.Net Web 应用程序项目和 Web 网站项目是两种不同的项目类型,虽然它们都可以用来开发 Web 应用程序,但是它们之间存在一些关键的区别。 首先,让我们从相同点入手。两者都可以...
在讨论这些服务器时,我们需要了解它们之间的区别和联系。例如,Apache 和 Tomcat 可以一起使用,Tomcat 也可以作为应用服务器的辅助。了解这些服务器的特点和功能,可以帮助我们更好地选择和使用它们。 知识点: ...
《C# Web应用程序入门经典_程序设计》是一本专为初学者设计的IT技术书籍,主要涵盖了使用C#语言开发Web应用程序的基础知识和实践技巧。这本书对于那些希望通过学习C#来构建动态、交互式Web应用的读者来说,是理想的...
在随后的11章中从理论和实践两个方而讲解了web应用程序的创建、测试、调试和部署等环节,如服务器控件、数探访问、数据绑定、Asp.NET状态管理、XML与web开发、web应用程序中的web服务、ASP.NET身份验证、授权和安全...
ASP.NET 中 web 应用程序部署 ASP.NET 2.0 中 WEB 应用程序的部署是指在我们建立完一个 WEB 应用程序后,将其部署到生产环境中,使其可以被用户访问的过程。部署 WEB 应用程序是非常重要的步骤,因为它直接影响着...
***是.NET框架的一部分,它允许开发者用C#语言来创建动态网站、Web应用程序和Web服务。 《C# + Web应用程序入门经典》这本书很可能是针对初学者而设计的。这类入门书籍通常会介绍如何安装和配置C#开发环境,如何...
这个主题涉及到如何从Web应用程序中启动、控制或者与用户的本地应用程序进行交互。以下是对这个主题的详细解释: 首先,我们要理解Web应用程序,通常是指运行在Web浏览器中的程序,而本地应用程序则是直接在用户的...
- **Web应用程序群集支持**:详细说明了如何设置Web应用程序集群以提高性能和可靠性。 - **SAP BusinessObjects BI平台WAR和EAR文件**: - **WAR文件**:用于部署Web应用程序的标准格式。 - **EAR文件**:包含多个...
系统介绍了用XML Web服务构建Web应用程序的知识。首先概述了有关Web服务的基础知识,然后借助一个具体的业务模型,详细介绍了为项目建模、创建与部署Web服务、以及保护Web服务安全和性能优化等高级技术;由于书中的...
这些都是编写任何程序的基础,对于理解和编写Web应用程序至关重要。然后,教程将引导你进入Web开发的世界,讲解ASP.NET的核心概念,如Page生命周期、控件、事件处理以及如何与数据库交互。 ASP.NET Web Forms是ASP...
5. **ActiveX**:主要在Microsoft的环境中使用,能够创建具有高级功能的Web应用程序,如动态HTML和客户端脚本。 #### 使用C++Builder开发Web应用程序 C++Builder 通过将复杂的Web应用程序开发封装成组件,极大地...
体验微软经典Web应用程序体验微软经典Web应用程序体验微软经典Web应用程序体验微软经典Web应用程序
描述中提到的"web应用程序设计ppt",表明了这份文档的核心内容是关于Web应用的设计原理和实践。特别提到了"主要内容有ASP.net课件",这意味着PPT将涵盖ASP.NET的各个方面,如它的历史背景、工作原理、语法特性、开发...
Web 应用程序开发安全指南为开发人员和结构设计人员提供了一系列有关 Web 应用程序开发的安全体系结构和设计指南,以帮助他们更好地理解 Web 应用程序开发的安全要求,提高 Web 应用程序的安全性,减少系统的安全...
【进阶知识】部分,要求学员熟练掌握Web应用程序漏洞的分类、成因和挖掘利用方法,熟悉并使用漏洞测试工具,以及对数据库、FTP、邮件、P2P等服务的漏洞进行测试。 【学习目标】期望学员能熟练使用搜索引擎,查找...
第1章 初识Web应用程序 第2章 数据库应用基础 第3章 用户注册模块设计 第4章 用户登录模块设计 第5章 网站访问计数器设计 第6章 图书信息查询模块设计 第7章 图书信息浏览模块设计 第8章 购物车模块...
2 章 介绍 基础知识 环境和体系结构 .NET环境下的WEB开发 3~13 介绍功能 用户界面和服务器控件 ADO.NET 数据绑定 ASP.NET状态管理 标记语言和XML XML和WEB开发 WEB应用程序中的WEB...
在本文中,我们将深入探讨如何在Visual Studio(VS)环境下使用C#语言开发基于ASP.NET的Web应用程序。ASP.NET是一个强大的Web开发框架,由Microsoft提供,它允许开发者创建功能丰富的、交互性强的Web应用程序。 ...
综上所述,QT应用程序与Web页面通信涉及到了QT的GUI组件、JavaScript交互、信号和槽机制以及安全性等多个方面。理解并熟练掌握这些知识点对于开发高效、安全的混合应用至关重要。在实际项目中,开发者可以根据需求...