3
有没有什么办法提取http标头值,并将其传递给全局扩展点处的WCF休息服务操作,例如:定制的IParameterInspector?提前致谢。如何将http标头值传递给WCF rest服务操作?
有没有什么办法提取http标头值,并将其传递给全局扩展点处的WCF休息服务操作,例如:定制的IParameterInspector?提前致谢。如何将http标头值传递给WCF rest服务操作?
通过WCF服务WebOperationContext您可以访问当前请求的HTTP标头如下所示:
var request = WebOperationContext.Current.IncomingRequest;
string header = request.Headers[HttpRequestHeader.Cookie];
感谢您的答复。但我试图找到一种方法提取标题值,然后绑定它作为服务操作的参数,是否有可能? – Joezzx
对不起,但我没有关注你...你是什么意思,“提取标题值并将其作为服务操作参数绑定”?你能详细说明你的用例吗?也许你正试图设置一个标头值...因为你可以使用[WebHeaderCollection.Set方法](http://msdn.microsoft.com/en-us/library/8ktxyh38.aspx) –
Hi Thomas,对不起关于这个问题还不清楚。在我的使用案例中,每个wcf rest服务操作都有一个参数accountName,同时,我使用HMAC协议来保护我的rest API,这个accountName已经存在于http标题项Authentication中。所以我尝试找到一种方法,将http头中的accountName传递给OperationContext.Current.IncomingMessageProperties.Add(“accountName”,accountName)的操作参数,因此我可以省略accountName的其余url段。有什么建议吗?非常感谢你。 – Joezzx