将自定义HTTP标头从Windows Phone传递到ASMX服务

时间:2014-11-07 12:23:48

标签: web-services windows-phone-7 asmx

问题:想要从Windows Phone 7.1应用程序向ASMX服务发送自定义HTTP标头。 ASMX服务由不同的团队开发。

尝试解决方案:有很多问题&网上的答案,但在我们的案例中似乎没有任何作用。

提到HttpRequestMessageProperty, 和this

客户端代码:

 HttpRequestMessageProperty httpProps = new HttpRequestMessageProperty();
 httpProps.SuppressEntityBody = false;
 httpProps.Headers["HeaderKey"] = "HeaderValue";
 OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpProps;

服务端代码:

 public string GetHeaderValue()
 {
   var properties = OperationContext.Current.IncomingMessageProperties;
   var property = properties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty;
   string headerValue = property.Headers["HeaderKey"];
   return headerValue;
 }

" HeaderKey"服务方面无法提供价值。任何人都能指出我们正确的方向吗?任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

好的,经过一些点击和未命中后,下面的代码工作了:

HttpContext.Current.Request.Headers.GetValues("HeaderKey")[0];

使用OperationContext的问题是ASMX的OperationContext.Current为null。在WCF服务中,OperationContext.Current可用。

感谢@ user623396您的时间和精力。希望这可以帮助别人。