问题:想要从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"服务方面无法提供价值。任何人都能指出我们正确的方向吗?任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
好的,经过一些点击和未命中后,下面的代码工作了:
HttpContext.Current.Request.Headers.GetValues("HeaderKey")[0];
使用OperationContext的问题是ASMX的OperationContext.Current为null。在WCF服务中,OperationContext.Current可用。
感谢@ user623396您的时间和精力。希望这可以帮助别人。