1

我想知道是否可以为每个 Web 服务调用添加一些自定义标头,然后从 Web 服务方法访问这些自定义标头:

eg. soapclient.headers.add("test","valueoftest")

and from web services:

[WebMethod]
public string helloworld()
{
return "Hello world" + getcustomheader

}

我还需要在 ajax 调用中添加标头,所以我需要知道在 javascript 中添加这些自定义标头的位置:

var soapHeader = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\"><soap12:Body>[body]</soap12:Body></soap12:Envelope>";
4

1 回答 1

3

在客户端,您可以使用XMLHttpRequest.setRequestHeader.For 添加自定义标头。例如:

XMLHttpRequest.setRequestHeader('Custom', 'MyHeader');

在服务器端:

[WebMethod]
public string helloworld()
{
  string customHeader = HttpContext.Current.Request.Header["Custom"];
  return "Hello world" + customHeader;

}
于 2013-06-01T11:25:54.910 回答