ASP.NET + AJAX ——Visual Studio 2008 的戏法

    终于渐渐明白ASP.NET+AJAX的实质。
    它的目标是代替人手写javascript。一方面可以简化网页的编写,降低AJAX的实施难度;另一方面是鼓励大家摒弃javascript,这是打击java阵营的一步棋,尽管javascript与java没有多大关系。不用手写javascript,直接就能获得类似AJAX的效果,着实让ASP.NET的程序员兴奋了一番。但是原理还是AJAX的原理,换汤没换药,难度的降低是以损失性能为代价的。

    跟以往微软的很多手段一样,通过加入一些折衷的办法,来占领市场,击败对手。例如当年的Visual J++,最大的卖点是执行速度的提升,但暗地里加入了很多违背Java标准的手段,不能实现跨平台,不具移植性,很快在主流的java开发平台争夺中败下阵来。
    为了对抗借着AJAX壮大声威的Java阵营,MS故伎重施,将ASP.NET渲染一番,重装上阵。但这只是一个刚刚成型的产品,宣传意义大于应用价值。

    使用ASP.NET+AJAX,必须把框架提供的很大的一包jscript lib打包传到客户端(SourceJavaScript.axd等等)。粗略估计有400K以上,所以第一次打开页面会特别慢。
    正是这个jscript lib实现了ScriptManager以及UpdatePanel等AJAX特性的控件。它接管了UpdatePanel内的控件的提交事件,负责与服务器交互,当返回后,再用jscript lib内的script对控件更新。这样,jscript lib将刷新限制在了这个控件之内,在客户看来,确实达到了局部更新的效果。
 为了掩饰在通信过程中的延迟,jscript lib提供了UpdateProgress来稳住用户。

    Jscript lib实际的作用是管理控件,实现页面无刷新操作。但这仅仅是AJAX的一部分,一小部分。
    它屏蔽了用户对XML和Javascript的使用,从而降低了开发的复杂度。但对消息的控制,仍是完全的ASP.NET的模式,即每一个操作,都要提交到服务器,运算处理,结果回传到客户端。它至少砍掉了AJAX的两个很重要的功能。
    AJAX的主要特征是异步获取数据,并且将这个放在首位,才能实现更快的响应。用户在未进行下一步操作的时候,AJAX已经悄悄把需要的数据下载到本地,这样就能更快的响应用户的下一步操作。例如,判断“用户名是否已注册”,在用户填写完用户名后,就可以由javascript自动发起到服务器的请求,在用户填写后面的资料过程中,客户端已经可以知道用户名是否可用。
    AJAX的一个重要意义在于将部分运算分布在客户端进行,从而减轻服务器负担。这个任务的执行者正是Javascript。很多可以在本地进行的工作,例如简单的“用户名不能为空”的判断,直接在本地完成,不需要与服务器交互,也就不需要等待响应。

    ASP.NET+AJAX只做了表面文章,减少页面刷新,而代价是必须载入大而全的jscript库延缓页面响应。这些功能,通过简单的javascript+XML就能实现,而且更加快捷精练。
    到了这里,我们几乎可以断言,Visual Studio 2008提供的ASP.NET+AJAX是偷梁换柱的AJAX。它只能满足对性能要求不高,网速好,而追求新鲜词汇的用户。要开发真正的AJAX的网页,还是绕不开Javascript和XML。

时间: 2024-08-26 04:36:03

ASP.NET + AJAX ——Visual Studio 2008 的戏法的相关文章

ASP.NET AJAX in ASP.NET 3.5 and Visual Studio 2008

ASP.NET AJAX in ASP.NET 3.5 and Visual Studio 2008 在此之前的Visual Studio 2008,ASP.NET AJAX的产品曾经是一个独立的安装,你需要 安装在您的机器和Web服务器,您正在使用.这个版本获得了较快的普及,现在是在 Visual Studio 2008产品的一部分.它不仅是一个在Visual Studio 2008 IDE中的一部 分,在ASP.NET AJAX的产品也是烤到.NET框架3.5.这意味着要使用ASP.NET

Visual Studio 2008中的SQL数据库发布

数据库发布向导(Database Publishing Wizard)是一个流行的Visual Studio插件,它支持把本地的数据库部署到远程主机上去.Visual Web Developer团队宣布将把这个向导集成到Visual Studio 2008之中. 目前Visual Studio 2008的Beta 2版本还没包含这个向导,不过预计2008年2月发布的VS 2008 RTM将会一并安装这个向导的1.2版.这个数据库发布插件现在的版本是1.1,从属于SQL Server Hostin

LINQ体验(1)——Visual Studio 2008新特性

一.写本系列的目的 我平时利用课余零碎时间来学习ASP.NET3.5.LINQ.Silverlight.ASP.NET 3.5 Extensions等新东西,通过笔记形式来记录自己所学的历程,也给大家一起 学习Visual Studio 2008 和 .NET 3.5提供一个平台,为保证此系列的完整性, 我打算先依次介绍一下C# 3.0新语言特性和改进,然后从一条一条LINQ语句分析 来贯穿LINQ的知识点.最后通过一个实例程序实战Linq to sql带来全新的编程 体验.此系列比较长,欢迎大

Visual Studio 2008 、 Windows 环境变量介绍 和 如何在文件中引用环境变量 .

Visual Studio 2008  和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用. 可以在项目的"工具""属性页"对话框中任何接受字符串的位置使用这些宏.这些宏不区分大小写.  关于如何自己定义环境变量详见我的另一文章:http://blog.csdn.net/jtop0/article/details/7574139     宏 说明 $(RemoteMachine) 在"调试

Visual Studio 2008 可扩展性开发(一):VS概览

前言 Visual Studio是微软最知名的产品之一,在使用微软技术的开发人员的心目中尤为如此.相信这一点无须多说.它建立在IDE(统一开发环境)的基础之上,可用于开发多种不同类型的应用程序. Visual Studio,通常被简称为VS(以下皆按此简称),支持多种平台和编程语言.了解VS的历史以及每个版本的更迭,对学习它的扩展性开发会很有好处.所以在这里简单地说说VS在过去的12年里的历史. VS的历史 在软件领域,VS的历史算比较长的了.在此期间,微软开发了数种编程语言和支持这些语言的可视

Windows 7+SQL Server 2005+Visual Studio 2008安装过程体验

折腾了大概两天,终于将我的小本装上了心仪已久的Windows 7,u版(安装中文语言包后就叫旗舰版了),并且成功激活了,现在俺们也是正版软件的拥有者了,暗自窃喜 安装过程还算顺利,之前从硬盘装了一次,Win7自动将我C盘原来的Windows 2003放到old文件夹里了,开机启动时有一个选项提示是可以选择原先的Windows启动的,这个一般都没什么用,而且old文件夹很大,特别占磁盘空间,手动删掉的话总感觉还是不太干净,后来索性找朋友借了个15G的优盘,将我硬盘上的Windows 7副本拷贝到优

升级到Visual Studio 2008的十大技巧

升级到Visual Studio 2008,来个飞跃.Visual Studio 2008最近发布了,开发者经常希望自己成为安装他们最青睐开发工具最新版本的第一人.但是,若在升级过程中做出了错误的选择的话,就会为之付出一些代价.由于Jon Galloway等人,确保了升级过程是一个平稳的过程,而且只有十步之遥. 1.首先,小心的卸载所有先前发布的相应软件和模块 这是最重要的步骤之一.如果您有任何先前版本的.NET Framework 3.5或Visual Studio 2008,那么这些软件都必

Visual Studio 2008加入拼写检查器

微软的代码分析团队已经决定在Visual Studio 2008中加入FXCop的拼写检查器. FXCop最开始是作为一款微软的内部工具被设计出来的,它的目的是保证所有.NET API一定的一致性.它所强制应用的众多规则都涵盖了可用性的范畴,诸如如何定义公共可见的标识符.在这些规则中包括了对标识符的拼写检查器,这是保证不会发布一个拼写错误而又永远无法更改的方法名的必要手段. FXCop的公开发行版在用户群中反映很好,所以微软决定在Visual Studio 2005 Team Edition中加

使用VISUAL STUDIO 2008 BETA2创建SHAREPOINT工作流

前几天从Kaneboy大侠处得知Visual Studio 2008 Professional Edition Beta 2和Visual Studio 2008 Team System 2008 – Team Suite Beta 2中包含了最新的VSTO 3.0(Visual Studio Tools for Office),SharePoint的工作流项目也被包含在了VSTO 3.0之中,而且极大的改进了调试方式,"基本上,调试一个SharePoint Workflow的方法就是直接按F5