All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP程序加速探索之脚本执行速度测试_php资料_编程技术
C#设计的一个向导程序(Wizard)框架_[Asp.Net教程]
Spring集成XFire开发WebService_.net资料_编程技术
PHP脚本的8个技巧(6)PHP和COM_[PHP教程]
设计ASP.NET应用程序的七大绝招_[Asp.Net教程]
C#网络应用编程基础练习题与答案(七)_.net资料_编程技术
PHP中 ADODB 类库介绍(二)_[PHP教程]
SQL数据操作基础(初级)2_mssql学习_编程技术
server2008系统安装Microsoft.NET,Framework3.5_.net资料_编程技术
浅谈SQL,Server数据类型最大值_[SQL,Server教程]
Reading number is top 10 pictures
2012 national geographic daily picture7
湖南中医院的养生八图
再发两张抽象画
全球清廉国家排行
美女和狗狗1
来几张有特色的图片
陪睡门马睿菈自曝写真 称首拍大尺度照片2
一千块钱如何创业
清扫五脏垃圾,我有绝招
夕阳下的北京街道
Download software ranking
Dance with duck(male prostitution)
Boxer vs Yellow3
传奇私服架设教程
Such love down(擒爱记)
I'm come from Beijing1
linux初级教程
超级战舰
Boxer's Top ten classic battle6
Proficient in Eclipse
C#程序员参考手册
归海一刀 published in(发表于) 2014/1/30 0:51:41 Edit(编辑)
Asp.Net,Ajax,学习笔记13,AJAX,Library中异步通信层使用_[Asp.Net教程]

Asp.Net,Ajax,学习笔记13,AJAX,Library中异步通信层使用_[Asp.Net教程]

Asp.Net Ajax 学习笔记13 AJAX Library中异步通信层使用_[Asp.Net教程]























1、Microsoft Ajax Library的客户端架构




MicrosoftAJAXLibrary的组成部分之一
负责ASP.NETAJAX框架中所有的客户端与服务器端的通信
其默认实现封装了XMLHttpRequest的功能 上例是不实用Asp.Net Ajax客户端架构,直接进行异步通讯的示例,在服务端是使用Response.Write来返回客户端数据




2、使用Asp.Net Ajax异步通讯层




Asp.Net Ajax异步通讯层主要有三个类WebRequest、WebRequestExecutor、WebRequestManager,这三个类都在Sys.Net命名空间下。




WebRequest类:负责收集(存储)请求信息。






















事件completed






得到回复后触发,就是表明这个异步传输已经由服务器那边给出了回应,不管这个回应是错误的还是超时的













add_completed/remove_completed






添加/移除completed事件的事件处理器













getResolvedUrl






获得完整的URL













invoke






执行(发送)请求













set_url(url)






设置服务器响应页面/Handler的地址













get_headers()






得到请求的头信息集合













set_body(data)






设置发送到服务器的请求内容













set_httpVerb(verb)






设置请求所用的Http方法(Post, Get, Put,)













set_timeout(time)






设置超时时间
















get_executor()








得到发送请求的Executor对象













set_userContext






设置附加于WebRequest的对象











如上例是一个使用Microsoft Asp.Net Ajax架构来进行异步传输的例子,上例中有一个set_userContext(Object),这个方法是设置webRequest的用户上下文,设置以后,userContext的内容不会传输到服务端(据我观察),他将会把这个属性传到completed事件处理器中。在上例中使用到了WebRequestExecutor类,response就是WebRequestExecutor类,这个类的属性与方法如下

















abort()






取消当前请求













executeRequest()






执行请求













getAllResponseHeaders()






获取回复内所有的头信息,返回值是一个集合













getResponseHeader(HeaderName)






获取回复内指定的头信息













get_aborted()/set






表示请求是否被取消













get_responseAvailable()






表示是否得到了正确的结果













get_responseData()






获得字符串形势的回复内容













get_started()






表示请求是否已经开始













get_statusCode()






表示回复状态的代码













get_statusText()






表示回复状态的文字













get_timedOut()






表示回复是否是超时状态













get_xml()






获得xml形式的回复内容













get_webRequest()






获得当前正在执行的WebRequest对象








在上面两个类的方法和属性说明中,get_/set_开头的是属性,属性应该有响应的get/set方法,我只标明了一部分,但是有的属性肯定是只读属性,这里我没有明确标明,也没有尝试,在实际编程中,应该很容易知道哪个是只读属性。在发送请求的函数中可以使用webRequest.get_executor()来得到WebRequestExecutor类的实例,在completed事件处理函数中,可以通过webRequestExecutor.get_webRequest得到webRequest类的实例,有点循环引用的意思。




3、WebRequestManager类的说明

















invokingRequest事件






即将发出请求时触发,可用于取消某个请求













completedRequest事件






请求结束时触发,它早于WebRequest对象的completed事件触发













defaultTimeout属性






默认的超时时间













defaultExecutorType






默认的发送请求的Executor类型













add/remove_invokingRequest(handler)






添加/移除invokingRequest的事件处理器













add/remove_completedRequest(handler)






添加/移除completedRequest的事件处理器












<%= DateTime.Now %>





记得UpdatePanel中有一个PageRequestManager类,这个类适用与页面级别的调用,WebRequestManager是对web请求适用,并且PageRequestManager的initializeRequest事件优先与invokingRequest事件,从名字上就可以区分出来一个是初始化事件,一个是调用请求的事件。上面这个例子有一个bug,取消请求之后要重新刷新页面才能正常的调用。这个bug我还没有找到好的方法解决。注意:在这个例子中WebRequestManager类是结合UpdatePanel使用的,能否在与WebRequest和WebRequestExecutor类结合使用,在后面的课程中有讲述














































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.