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