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

Web services 将自定义HTTP头从Windows Phone传递到ASMX服务,web-services,windows-phone-7,asmx,Web Services,Windows Phone 7,Asmx,问题:要将自定义HTTP头从Windows Phone 7.1应用发送到ASMX服务。ASMX服务由不同的团队开发 尝试过的解决方案:网上有很多关于这方面的问题和答案,但在我们的案例中似乎什么都不起作用 参考, 和 客户端代码: 服务端代码: HeaderKey值在服务端不可用。有人能给我们指出正确的方向吗?任何帮助都将不胜感激 谢谢。好的,在一些点击和未点击之后,下面的代码起作用了: HttpContext.Current.Request.Headers.GetValues("HeaderKe

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

尝试过的解决方案:网上有很多关于这方面的问题和答案,但在我们的案例中似乎什么都不起作用

参考, 和

客户端代码:

服务端代码:

HeaderKey值在服务端不可用。有人能给我们指出正确的方向吗?任何帮助都将不胜感激


谢谢。

好的,在一些点击和未点击之后,下面的代码起作用了:

HttpContext.Current.Request.Headers.GetValues("HeaderKey")[0];
ASMX使用OperationContext时出现问题OperationContext.Current为null。在WCF服务中,OperationContext.Current可用


感谢@user623396为您花费的时间和精力。希望这能帮助别人。

您是否尝试过用X前缀命名标题键?httpProps.Headers[X-HeaderKey]=headervalue不,我还没试过。让我也检查一下。带有X前缀的键是如何被识别的?这是一种命名约定,它规定非标准的头键应该以X标记作为答案开始,因为这有助于解决我们的问题。希望它能解决其他人的问题。
 public string GetHeaderValue()
 {
   var properties = OperationContext.Current.IncomingMessageProperties;
   var property = properties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty;
   string headerValue = property.Headers["HeaderKey"];
   return headerValue;
 }
HttpContext.Current.Request.Headers.GetValues("HeaderKey")[0];