asynchronous javascript and xml(ajax)最近掀起的高潮,要完全归功于google在google suggest与google maps中的使用。对asp.net而言,ajax不需要回传就能进行服务器端处理,从而使客户机(浏览器)具有丰富的服务器端能力。换句话说,它为异步指派与处理请求与服务器响应提供了一个框架。ajax利用了一些不是很新颖的已有技术,但是对这些技术(加到一起就是ajax)的爱好最近突然升温。
请尝试michael schwarz的ajax .net包装器,通过它asp.net开发人员可以快速方便的部署很容易利用ajax功能的页面。需要注意的是,这个包装器处于初期开发阶段,因此还没有完全成熟。
起步:它是如何工作的——概述 【相关文章:网络管理之ARP地址解析协议应用】
然而,ajax这样的技术很可能破坏分层体系结构(n-tier)。我的看法是,ajax增加了表示逻辑层(甚至更糟,业务层)渗透到表示层的可能性。像我这样严肃的架构师对这种想法可能畏步不前。我感到ajax的使用即便稍微越过了层次边界,这种代价也是值得深思的。当然,这要视具体的项目与环境而定。 【扩展阅读:针对ARP病毒攻击防制进阶经验谈】
包装器本身通过将.net函数标记为ajax方法来工作。标记之后,ajax就创建对应的javascript函数,这些函数(与任何javascript函数一样)作为代理可以在客户端使用xmlhttprequest调用。这些代理再映射回服务器端函数。 【扩展信息:IP地址冲突很头痛问题解决有绝招】
ajax依靠代理(broker)指派与处理往返服务器的请求。对此,.net包装器依靠客户端xmlhttprequest对象。多数浏览器都支持xmlhttprequest对象,这就是选择它的原因。因为包装器的目的是隐藏xmlhttprequest的实现,我们就不再详细讨论它了。
复杂吗?并不复杂。我们来看一个例子。假设有一个.net函数:
public int add(int firstnumber, int secondnumber)
{ return firstnumber + secondnumber; }ajax .net包装器将自动创建名为“add”、带有两个参数的javascript函数。使用javascript(在客户机上)调用该函数时,请求将传递给服务器并把结果返回给客户机。
初始设置
我们首先介绍“安装”项目中使用的.dll的步骤。如果您很清楚如何添加.dll文件引用,可以跳过这一节。
首先,如果还没有的话,请下载最新的ajax版本。解压下载的文件并把ajax.dll放到项目的引用文件夹中。在visual studio.net中有机solution explorer的“references(引用)”节点并选择add reference(添加引用)。在打开的对话框中,单击browse(浏览)并找到ref/ajax.dll文件。依次单击open(打开)与ok(确认)。... 下一页