确定asp.net ajax请求来自哪个服务器在Web场中?

问题描述

| 我在想如何找到该页面是从哪个服务器提供服务的:我可以这样做,例如在页面上放置一个隐藏变量,该变量具有要处理的服务器的IP或服务器名称。但是,我如何处理asp.net ajax请求:那些发生为部分回发的请求?我必须将隐藏的变量放在更新面板中,但是如果页面中有很多更新面板怎么办? 我签出了另一个SO帖子,但是解决方案是针对iis 7的。iis6等效于什么?我们如何读取标题?在哪里看?     

解决方法

        您可以通过打开站点的属性,然后单击“ HTTP标头”选项卡,通过IIS MMC设置IIS6自定义标头: 您还可以使用
adsutil
(位于
c:\\InetPub\\AdminScripts
中): cscript adsutil设置w3svc / 1 / root / HttpCustomHeaders \“ X-Served-By:Server-001 \” 上面的命令将为默认网站配置HTTP标头。 使用“ 0”时要小心,因为这将覆盖任何已配置的现有标头。 要设置多个标题,请执行以下操作: cscript adsutil设置w3svc / 1 / root / HttpCustomHeaders \“ X-Served-By:Server-001 \” \“ X-Powered-By:ASP.NET \” 更新: 关于访问客户端上的响应标头,如果您使用的是ASP.NET AJAX更新面板,则将此脚本添加到页面的末尾:
<script type=\"text/javascript\" language=\"javascript\">
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endPageRequest);

  function endPageRequest(sender,args) {

    var allHeaders = args._response._xmlHttpRequest.getAllResponseHeaders();
    var headers = allHeaders.split(\'\\n\');

    // At this point you have a string array of response headers.

    // Or you can get an individual header:
    var header = args._response._xmlHttpRequest.getResponseHeader(\"MyHeader\");

  }
</script>
这将挂接到页面请求管理器中,以便在Ajax请求完成时,您还可以看到具有响应头副本的基础XMLHttpRequest对象。 您可以使用jQuery做类似的事情:
$.ajax({
  url: \"/Home/HeadTest\",success: function (data,textStatus,xhr) {
    var header = xhr.getResponseHeader(\"MyHeader\");                 
  }
});
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...