2012-11-04 59 views

回答

3

通过WCF服务WebOperationContext您可以访问当前请求的HTTP标头如下所示:

var request = WebOperationContext.Current.IncomingRequest; 
string header = request.Headers[HttpRequestHeader.Cookie]; 
+0

感谢您的答复。但我试图找到一种方法提取标题值,然后绑定它作为服务操作的参数,是否有可能? – Joezzx

+0

对不起,但我没有关注你...你是什么意思,“提取标题值并将其作为服务操作参数绑定”?你能详细说明你的用例吗?也许你正试图设置一个标头值...因为你可以使用[WebHeaderCollection.Set方法](http://msdn.microsoft.com/en-us/library/8ktxyh38.aspx) –

+0

Hi Thomas,对不起关于这个问题还不清楚。在我的使用案例中,每个wcf rest服务操作都有一个参数accountName,同时,我使用HMAC协议来保护我的rest API,这个accountName已经存在于http标题项Authentication中。所以我尝试找到一种方法,将http头中的accountName传递给OperationContext.Current.IncomingMessageProperties.Add(“accountName”,accountName)的操作参数,因此我可以省略accountName的其余url段。有什么建议吗?非常感谢你。 – Joezzx

相关问题