使用RequestInterceptor可以從請求中提取HTTP頭並對它們進行一些處理。人們也可以更新迴應。然而,是否有方法可以在請求本身中更新和/或插入HTTP標頭,以便後續的處理器(例如攔截器,授權管理器)?WCF REST服務更新頭文件
0
A
回答
1
WCF有一個很多的擴展點用於這樣的事情。你可能在後面是一個實現IDispatchMessageInspector
的自定義行爲。
創建一個類,它看起來像這樣:
public class MyCustomBehavior : IDispatchMessageInspector, IEndpointBehavior
{
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
//here you can work with request.Headers.
return null;
}
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(this);
}
//there are a bunch of other methods needed
//but you can leave their implementations empty.
//...
}
然後,您可以添加自定義的行爲,以服務端點編程打開服務之前:
host.Description.Endpoints[0].Behaviors.Add(new WcfService2.MyCustomBehavior());
保羅Pialorsi有good tutorial其涉及編寫信息檢查員。
1
你看過http://wcf.codeplex.com新的HTTP協議棧有一個流水線模型,它允許你做所有類似的事情。
相關問題
- 1. 安全的WCF REST Web服務和頭文件
- 2. 使用WCF Rest服務下載文件?
- 3. 上傳文件與WCF REST服務
- 4. WCF更新服務
- 5. 爲WCF REST服務
- 6. 在WCF REST服務
- 7. WCF服務參考更新
- 8. 更新WCF服務參考
- 9. WCF REST服務POST方法
- 10. 公開WCF服務REST-
- 11. 簡單REST服務與WCF
- 12. WCF REST JSON服務緩存
- 13. WCF Rest服務電話
- 14. WCF REST服務認證
- 15. Ninject進入WCF REST服務
- 16. WCF REST服務地址
- 17. 創建WCF把REST服務
- 18. REST POST到WCF服務
- 19. 如何從WCF REST服務
- 20. WCF REST服務結果404
- 21. WCF Rest服務返回HttpWebResponse
- 22. REST WCF服務在SSL
- 23. WCF REST服務和jQuery
- 24. Wcf REST服務和客戶
- 25. 從WCF消費REST服務
- 26. WCF 4 REST和WCF 4數據服務
- 27. WCF REST服務的WCF服務應用程序(項目)或WCF服務(網站)
- 28. WCF服務參考支持文件不更新
- 29. HTTP頭可以綁定到REST WCF服務參數嗎?
- 30. WCF Rest服務 - 獲取對HTTP響應頭的訪問
標題在Message類中是隻讀的。公共抽象MessageHeaders標題{get; }。 – 2011-01-21 17:32:24
是的,`Headers`是隻讀的,但你仍然可以調用`Headers.Add(...)`來修改集合。 – 2011-01-22 06:15:21