gpt4 book ai didi

asp.net - 确定 asp.net ajax 请求来自哪个服务器(在网络场中)?

转载 作者:行者123 更新时间:2023-12-02 08:53:52 25 4
gpt4 key购买 nike

我在想我们如何才能找出页面是由哪个服务器提供的:我会通过在页面上放置一个隐藏变量来实现,该变量具有来自处理它的服务器的 IP 或服务器名称。但是我应该如何处理 asp.net ajax 请求:那些作为部分回发发生的请求?我必须将隐藏变量放在更新面板中,但是如果页面中有很多更新面板怎么办?

我检查了另一个 SO post ,但解决方案适用于 iis 7。iis6 的等效项是什么?我们如何阅读标题?去哪里看?

最佳答案

您可以通过 IIS MMC 设置 IIS6 自定义 header ,方法是打开站点的属性,然后单击“HTTP header ”选项卡:

enter image description here

您还可以使用 adsutil(在 c:\InetPub\AdminScripts 中找到):

cscript adsutil set w3svc/1/root/HttpCustomHeaders "X-Served-By:Server-001"

The command above will configure the HTTP Headers for the default website.

Be careful when using adsutil as this will overwrite any existing headers already configured.

To set multiple headers do:

cscript adsutil set w3svc/1/root/HttpCustomHeaders "X-Served-By:Server-001" "X-Powered-By:ASP.NET"

Update:

With regard to accessing the response headers on the client, if you're using an ASP.NET AJAX update panel then add this script to the end of your page:

<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 请求完成时,您还可以看到具有响应 header 副本的底层 XMLHttpRequest 对象。

您可以使用 jQuery 做类似的事情:

$.ajax({
url: "/Home/HeadTest",
success: function (data, textStatus, xhr) {
var header = xhr.getResponseHeader("MyHeader");
}
});

关于asp.net - 确定 asp.net ajax 请求来自哪个服务器(在网络场中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6478771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com