2010-01-02 74 views
1

有誰知道如何訪問請求MessageEncoder.ReadMessage方法中的HTTP標頭? 似乎已經WCF「知道」在調用ReadMessage方法的點請求頭,至少Content-Type和Content-Length的,但我不能讓訪問Content-Encoding頭。訪問請求在自定義HTTP頭WCF MessageEncoder,具體

基本上,我試圖利用gzip的/壓縮WCF服務(http://msdn.microsoft.com/en-us/library/ms751458.aspx),並希望檢查是否需要解壓縮傳入的請求。要做到這一點,我想檢查內容編碼頭,但不知道在哪裏得到它。 任何想法?

謝謝!

+0

一種可能的解決方案,我已經發現(它工作至少爲JSON/XML結合)是基於HTTP傳輸/編碼層不會一下子拉整個消息的想法,所以我創建MessageProxy該推遲的解壓/創建底層消息,直到有人試圖檢查消息體。那時所有的請求頭都可以訪問。如果有人感興趣,我可以在某處提交示例代碼。 – 2010-01-07 21:20:36

回答

0

Here's an answer我給在另一個線程,說明您將如何需要操縱通過WebOperationContext頭在另一個IOperationBehavior它加上MessageEncoder

+0

謝謝你的迴應。我明白WebOperationContext和IOperationBehavior如何幫助設置Content-Encoding頭爲_outcoming_消息,但我無法弄清楚如何任何服務,端點或操作範圍的行爲,可以幫助進入_incoming_郵件頭。 – 2010-01-04 15:47:41

+0

對於傳入的請求,WebOperationContext和OpeationContext都爲null – MichaelChan 2016-06-13 22:45:45