ASP.NET中的WebRequestExecutor

开发 后端
本文介绍ASP.NET中的WebRequestExecutor,我们可以使用自定义的WebRequestExecutor来取代默认的 XMLHttpExecutor。

WebRequestExecutor是 ASP.NET AJAX网络访问基础结构的***修改点。理论上,我们可以使用自定义的WebRequestExecutor来取代默认的 XMLHttpExecutor。我们要做的,其实只是开发一个继承于Sys.Net.WebRequestExecutor类。不过事实上,在实际使用中,Sys.Net.XMLHttpExecutor已经足够用了,真的要自定义,也只需继承这个类即可。就像接下去的例子一样。

可是,Sys.Net.XMLHttpExecutor作为一个父类来说,可以说相当的不友好。先不多说,我们开始吧。在这个例子中,我们将开发一个 TraceExecutor,如果使用了这个Executor,Request和Response的信息都会被打印在页面上,开发人员可以把这些内容作为一个参考。TraceExecutor非常简单,代码也很短。

一般情况下,在这个方法中,会初始化所有的“私有”变量。不过在这里,我们不需要。

然后,我们将覆盖XMLHttpExecutor的executeRequest方法,我们需要作的,就是将WebRequest对象打印在页面上。代码如下:

  1. function Jeffz$Net$TraceExecutor$executeRequest()  
  2. {  
  3. debug.trace("<b>Request sent at " + new Date() + ":</b>");  
  4. debug.dump(this.get_webRequest(), "Request");  
  5. Jeffz.Net.TraceExecutor.callBaseMethod(this, "executeRequest");  

我在这里使用Debug模式下,为方法起了一个“别名”,在prototype中需要使用一下。自然,我们也需要调用registerClass,表示类的继承关系。代码如下:

  1. Jeffz.Net.TraceExecutor.prototype =  
  2. {  
  3. executeRequest : Jeffz$Net$TraceExecutor$executeRequest  
  4. }  
  5. Jeffz.Net.TraceExecutor.registerClass('Jeffz.Net.TraceExecutor',
    Sys.Net.XMLHttpExecutor); 

我们可以尝试着使用一下,代码很简单,将HTML和Javascript一并贴出了。代码如下:

  1. <asp:ScriptManager runat="server" ID="ScriptManager1"> 
  2. <Scripts> 
  3. <asp:ScriptReference Path="Debug.js" /> 
  4. <asp:ScriptReference Path="TraceExecutor.js" /> 
  5. </Scripts> 
  6. </asp:ScriptManager> 
  7. <asp:UpdatePanel runat="server" ID="UpdatePanel1"> 
  8. <Triggers> 
  9. <asp:AsyncPostBackTrigger ControlID="btnRefresh" /> 
  10. </Triggers> 
  11. <ContentTemplate> 
  12. <%= DateTime.Now.ToString("r") %> 
  13. </ContentTemplate> 
  14. </asp:UpdatePanel> 
  15. <asp:Button runat="server" ID="btnRefresh" Text="Refresh"/> 
  16. <script language="javascript"> 
  17. Sys.Net.WebRequestManager.set_defaultExecutorType("Jeffz.Net.TraceExecutor");  
  18. </script>  

以上介绍ASP.NET中的WebRequestExecutor

【编辑推荐】

  1. ASP.NET MVC Web应用程序工程
  2. IIS6的ASP.NET ISAPI请求处理过程
  3. ASP.NET控件的七种用户管理相关控件
  4. 对ASP.Net进行RSA加密
  5. ASP.NET得到数据库字符串的方法
责任编辑:佚名 来源: IT168
相关推荐

2009-07-24 10:10:22

ASP.NET

2009-08-04 18:05:37

动态编译ASP.NET

2009-07-27 13:01:28

TreeViewASP.NET

2009-08-04 17:30:23

cookieless属ASP.NET

2009-07-31 09:58:20

URL映射ASP.NET

2009-07-20 17:21:43

Session状态ASP.NET

2009-07-22 17:55:52

2009-07-22 17:45:35

ASP.NET教程

2009-07-27 09:31:06

定义JavaScripASP.NET

2009-07-27 15:25:40

aspx页面ASP.NET

2009-07-20 15:19:52

ViewState本质ASP.NET

2009-07-23 16:20:48

HTTP协议ASP.NET

2009-07-30 12:35:51

ASP.NET中的对象

2009-07-31 10:08:33

OutputCache

2009-07-20 14:54:23

HttpWorkerRASP.NET

2009-07-30 13:28:55

ASP.NET中的ja

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET
点赞
收藏

51CTO技术栈公众号