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"
分享到:
相关推荐
在讨论这些服务器时,我们需要了解它们之间的区别和联系。例如,Apache 和 Tomcat 可以一起使用,Tomcat 也可以作为应用服务器的辅助。了解这些服务器的特点和功能,可以帮助我们更好地选择和使用它们。 知识点: ...
《C# Web应用程序入门经典_程序设计》是一本专为初学者设计的IT技术书籍,主要涵盖了使用C#语言开发Web应用程序的基础知识和实践技巧。这本书对于那些希望通过学习C#来构建动态、交互式Web应用的读者来说,是理想的...
在随后的11章中从理论和实践两个方而讲解了web应用程序的创建、测试、调试和部署等环节,如服务器控件、数探访问、数据绑定、Asp.NET状态管理、XML与web开发、web应用程序中的web服务、ASP.NET身份验证、授权和安全...
- 如果你在开发过程中使用了 FrontPage 扩展来管理 Web 应用程序,则需要确保 VS.NET 和 IIS 之间的关系正确配置。 - 可以考虑将 VS.NET 中的 Web 应用项目路径与 IIS 中默认网站的路径分开,避免权限冲突。 3. *...
ASP.NET 中 web 应用程序部署 ASP.NET 2.0 中 WEB 应用程序的部署是指在我们建立完一个 WEB 应用程序后,将其部署到生产环境中,使其可以被用户访问的过程。部署 WEB 应用程序是非常重要的步骤,因为它直接影响着...
***是.NET框架的一部分,它允许开发者用C#语言来创建动态网站、Web应用程序和Web服务。 《C# + Web应用程序入门经典》这本书很可能是针对初学者而设计的。这类入门书籍通常会介绍如何安装和配置C#开发环境,如何...
这个主题涉及到如何从Web应用程序中启动、控制或者与用户的本地应用程序进行交互。以下是对这个主题的详细解释: 首先,我们要理解Web应用程序,通常是指运行在Web浏览器中的程序,而本地应用程序则是直接在用户的...
系统介绍了用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 中点击一个按钮,然后打开自己写的或者别人的应用程序。这种方法可以应用于各种场景,例如 QQ 客服、淘宝的阿里旺旺客服等。 ...
【进阶知识】部分,要求学员熟练掌握Web应用程序漏洞的分类、成因和挖掘利用方法,熟悉并使用漏洞测试工具,以及对数据库、FTP、邮件、P2P等服务的漏洞进行测试。 【学习目标】期望学员能熟练使用搜索引擎,查找...
第1章 初识Web应用程序 第2章 数据库应用基础 第3章 用户注册模块设计 第4章 用户登录模块设计 第5章 网站访问计数器设计 第6章 图书信息查询模块设计 第7章 图书信息浏览模块设计 第8章 购物车模块...
这个资料集合专注于使用VS2008和VS2005来构建Web安装包,这两个版本是微软开发工具中的里程碑,提供了强大的Web应用程序部署解决方案。 【描述】:“用VS制作Web安装程序资料集合”可能包括详细的步骤、教程、示例...
在实践中,Web 应用程序安全框架漏洞类别及防范需要从多方面入手,包括输入和数据验证、身份验证、授权、配置管理、敏感数据、会话管理、加密、参数操作、异常管理、审核与记录等几个方面。只有从多方面入手,才能...
在本文中,我们将深入探讨如何在Visual Studio(VS)环境下使用C#语言开发基于ASP.NET的Web应用程序。ASP.NET是一个强大的Web开发框架,由Microsoft提供,它允许开发者创建功能丰富的、交互性强的Web应用程序。 ...
综上所述,QT应用程序与Web页面通信涉及到了QT的GUI组件、JavaScript交互、信号和槽机制以及安全性等多个方面。理解并熟练掌握这些知识点对于开发高效、安全的混合应用至关重要。在实际项目中,开发者可以根据需求...