温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ASP.NET中WebRequestExecutor如何使用

发布时间:2021-07-15 15:09:41 来源:亿速云 阅读:99 作者:Leah 栏目:编程语言

这篇文章给大家介绍ASP.NET中WebRequestExecutor如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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

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

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

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

function Jeffz$Net$TraceExecutor$executeRequest()  {  debug.trace("<b>Request sent at " + new Date() + ":</b>");  debug.dump(this.get_webRequest(), "Request");  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一并贴出了。代码如下:

<asp:ScriptManager runat="server" ID="ScriptManager1"> <Scripts> <asp:ScriptReference Path="Debug.js" /> <asp:ScriptReference Path="TraceExecutor.js" /> </Scripts> </asp:ScriptManager> <asp:UpdatePanel runat="server" ID="UpdatePanel1"> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnRefresh" /> </Triggers> <ContentTemplate> <%= DateTime.Now.ToString("r") %> </ContentTemplate> </asp:UpdatePanel> <asp:Button runat="server" ID="btnRefresh" Text="Refresh"/> <script language="javascript"> Sys.Net.WebRequestManager.set_defaultExecutorType("Jeffz.Net.TraceExecutor");  </script>

关于ASP.NET中WebRequestExecutor如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI