`
javawebsoa
  • 浏览: 425435 次
社区版块
存档分类
最新评论

微软技术系列(WebForm)

 
阅读更多

在桌面程序和BS应用程序比较来看,无论是开发速度还是用户体验来说,都是桌面程序要有优势.由于BS程序的特性,使得在开发BS程序时可使用的资源非常有限(客户端只能借助浏览器,客户端与服务端的无状态交互,服务端的集中计算压力等),因而也严重影响了BS程序开发的效率。怎么让BS的开发能像桌面开发那样富有效率,一直以来也是业界的追求。微软的WebForm就是这样一种尝试,而且取得了一定的成功。Webform在传统的html,css,javascript+服务端基本交互对象(Request,Response,Server,Session,Application)上,利用反射和对象序列化技术,成功地将BS程序开发有了桌面程序开发的体验:拖放控件,所见即所得,窗体事件等。当然,离真正的桌面开发还是有距离的,不过这已经是非常了不起的进步。Webform的出现和能成功应用,其实也得利于互联网速度和带宽的改善。

WebForm是建立在已有的Web开发技术之上,只是充分利用了已有的技术,并不需要在浏览器端,或者是浏览器—应用服务器之间增加额外的构件,因此,WebForm一如既往的秉承了Web程序的风格和优点。我们知道,桌面程序的开发之所以体验非常好,主要得益于客户端资源的丰富和天然的状态保留功能,客户端和服务端只需要交互变化的那部分数据或者状态信息,而大部分的,特别是界面上的状态则不需要特别的处理。因此,Webform能模拟到这种类似桌面开发的程度,付出的代价也非常大,主要在以下几个方面:
1,为了保持页面窗体的状态,Webform增加了ViewState,而这个ViewState是要在客户端与服务端来回传递的,因此无疑的增加了网络流量,同时也使得数据安全成为一个潜在的风险和问题;
2、页面的重建代价非常大。服务端页面及控件属性非常多,这些属性要保持状态就必须序列化后保存在ViewState中,然后等传回来时在利用反序列化来恢复原来的状态,其过程如下:服务器页面处理完成前,将要保持状态的控件信息序列化,保存在ViewState中,客户端传回后,先创建一个新的页面及其相应的控件,然后利用反序列化,把从客户端传回的ViewState信息重新赋给对应控件。如果业务稍微复杂点,页面控件多点,这种反复重构对服务端的压力就非常大。虽然微软也提供了关闭ViewState的功能,但说实话,如果你关闭了ViewState,也就失去了选用WebForm的绝大部分意义。
3、无法完全达到桌面开发的体验,有很多在桌面开发很容易实现的功能,在这里需要花费很大的心思和工作量,而且效果还差强人意,比如在线编辑那种。
Webform的这些缺陷,也是很多人选择放弃使用的原因。特别是在一些对性能要求非常高的应用场景中,在互联带宽和速度还无法与局域网媲美的情况下,这些代价都是不可承受的。我就经历过这样的放弃,我们做的公共平台的CRM,开始采用的就是Webform.但由于我们的系统地体验和交互都是按照桌面程序那样要求,那么多的页面元素下还要实现拖放效果,难度可想而知,当然其结果也很直接,不仅不好看,速度也非常慢,后面没办法,中途只好转到silverlight 上去了。
当然,也不是说Webform一无是处,而且未来的BS开发还会朝着WebForm想要达到的目的发展。而且在很多对性能和交互要求不是特别高的地方,Webform还是有用武之地的。
微软其实也看到了WebForm的不足,所以就有了后来的Silverlight和MVC.但不管怎样,WebForm都可以看做是BS程序开发的一种伟大的尝试。


分享到:
评论

相关推荐

    爬虫系列 一次采集.NET WebForm网站的坎坷历程.docx

    【标题解析】:“爬虫系列 一次采集.NET WebForm网站的坎坷历程”指的是作者在进行网络爬虫开发时,遇到了一个使用.NET技术构建的WebForm类型的网站,这种类型的网站对于爬虫来说通常存在一定的挑战性。 【描述分析...

    18个ASP.NET WebForm项目源码

    ASP.NET WebForm是微软开发的一款用于构建Web应用程序的框架,它是.NET Framework的重要组成部分。这个压缩包包含18个ASP.NET WebForm项目的源码,对于学习和理解WebForm的工作原理、开发流程以及数据库交互等方面...

    ASP is WebForm编程

    ASP.NET WebForm是一种基于.NET Framework的服务器端网页开发模型,由微软公司推出,它极大地简化了Web应用程序的构建。WebForm允许开发者使用类似WinForms的事件驱动编程模型来创建动态网页,提供了丰富的控件和...

    ASP.NET_WebForm:源代码和模板-Form source code

    ASP.NET WebForm是微软开发的一款用于构建动态网站的框架,它是.NET Framework的重要组成部分。这个压缩包文件"ASP.NET_WebForm:源代码和模板-Form source code"包含了使用ASP.NET WebForm技术创建的源代码和模板,...

    DXperience 10.1.3 简繁体汉化,本地化,Skins(包含webform,winform,wpf,Silverlight) 使用见说明

    4. Silverlight:微软的轻量级插件技术,用于在浏览器中创建富媒体和交互式应用。DXperience 提供的 Silverlight 控件集允许开发者利用 Silverlight 平台构建功能丰富的 web 应用。 汉化和本地化是 DXperience ...

    SchoolPad:Webform聊天服务

    Webform模式是微软ASP.NET框架的核心组成部分,它采用事件驱动模型,模拟了桌面应用程序的编程方式。在Webform中,页面生命周期包括一系列的事件,如初始化、加载、回发、验证、保存等,这使得开发人员可以方便地...

    ASP.NET 2.0安全系列课程:ASP.NET Web form验证入门

    ### ASP.NET 2.0 Web Form 验证入门...- **微软中文技术论坛**:在线社区支持和技术交流平台。 通过本课程的学习,学员将能够掌握ASP.NET 2.0 Web Form应用中验证的基本概念和技术要点,从而更好地保障应用的安全性。

    ASPNETWebform4Website:微软X开源培训营项目代码。基于ASP.NET WebForm 4.0企业网站,新闻,招聘,评论,后台管理模块。

    ASP.NET WebForm 4.0 是微软开发的一款用于构建动态网站的技术,它是.NET Framework的一部分,提供了丰富的服务器控件和事件驱动模型,使得开发者能够轻松创建交互式的网页应用。本项目"ASPNETWebform4Website"是...

    ASP.net

    WebForm页面经历了一系列阶段,包括初始化、加载视图状态、预加载事件处理、加载事件处理、控件事件处理、渲染等步骤。理解这个过程对于编写高效且可维护的WebForm应用至关重要。 **4.2 控件事件** - 用户操作控件...

    用VisualStudio_NET中的MobileWebForm创建移动网络应用.

    这些语言利用了 .NET Framework 的功能,提供了简化 ASP Web 应用程序和 XML Web services 开发的关键技术。 **Mobile Internet Toolkit**:该工具包由一系列服务器端移动网络窗体和用于创作用户界面的 Mobile ...

    ASP.NET Entity Framework(EF)中基本增删改查的各种写法和详细说明

    在以前学习和使用WinForm、ASP.NET WebForm、三层架构的时候,对于数据访问的实现,无论是什么逻辑,简单还是复杂,无论是执行SQL语句还是调用存储过程都要用到ADO.NET技术,通过封装好的SQLhelper类传入SQL语句和Sql...

    ASP.NET基于CS应用程序平台多语种技术应用研究(源代码+LW).zip

    在本项目"ASP.NET基于CS应用程序平台多语种技术应用研究"中,我们可以看到一系列与ASP.NET相关的源代码文件,这表明这是一个关于如何在ASP.NET平台上实现多语言支持的研究。 首先,`Global.asax`文件是ASP.NET应用...

    ASP.NET Web form验证入门

    ASP.NET Web Form是微软.NET框架中的一个重要组成部分,它提供了一种构建交互式、动态网站的方式。在Web Form中,验证是确保用户输入数据正确性和安全性的关键步骤。本教程将深入讲解如何在ASP.NET Web Form中实现...

    c#及asp_net支付宝接口代码

    C#是一种面向对象的编程语言,常用于开发Windows应用程序和Web应用程序,而ASP.NET则是微软提供的一个用于构建动态网站、Web应用程序和Web服务的框架。在ASP.NET中,C#可以作为后端服务器端的语言,处理业务逻辑和...

    ASP.net启动数据

    ASP.NET 是微软公司开发的一种用于构建动态网站、Web 应用程序和服务的框架。它基于.NET Framework,提供了丰富的功能和工具,使得开发者可以更高效地创建网页应用。在这个"ASP.NET 启动数据"主题中,我们可以深入...

    ASP.NET MVC2程序开发入门到精通.CHM

    是广大WEB开发者继ASP.NET WebForm之外的另一好选择,本系列课程共12讲,介绍了这一技术的方方面面,为您了解和掌握ASP.NET MVC提供方便。 第1讲:MVC架构概述 第2讲:MVC范例分享 第3讲:MVC中的View层使用技巧...

    ASP.Net技巧技术的精髓pdf格式的!网站开发之必备

    为了更好地满足这一需求,《ASP.Net技巧技术的精髓》这本PDF资料汇集了一系列实用且高效的技术与技巧,旨在帮助开发者提高效率、优化网站性能。以下将详细介绍该资料中涵盖的关键知识点。 #### .Net Framework ...

    asp.net经典视频1-3全(1)

    总的来说,这个ASP.NET的经典视频系列旨在为初学者提供一个全面的入门指南,涵盖从基础概念到实际应用的关键技术,帮助他们快速掌握ASP.NET的开发技巧。通过深入学习,开发者可以为构建高效、动态的Web解决方案打下...

    ASP.NET 完全入门

    - **数据处理技术**: ASP.NET在数据处理方面引入了一系列新技术,例如ADO.NET,这是一种用于访问和管理数据的强大框架。它不仅提供了高效的数据库访问方式,还支持离线数据处理和数据缓存等高级功能。 - **WebForm...

Global site tag (gtag.js) - Google Analytics