使用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 .map文件服務參考
- 2. 安全的WCF REST Web服務和頭文件
- 3. WCF REST服務
- 4. 使用WCF Rest服務下載文件?
- 5. 上傳文件與WCF REST服務
- 6. WCF更新服務
- 7. 在WCF REST服務
- 8. WCF REST服務C#
- 9. WCF REST服務IErrorHandler
- 10. 爲WCF REST服務
- 11. WCF服務參考更新
- 12. WCF和IIS:更新服務
- 13. 更新WCF服務參考
- 14. 更新服務參考文件更改
- 15. WCF REST服務拒絕服務防禦
- 16. WCF REST服務的客戶端配置未更新
- 17. PhoneGap與WCF Rest服務
- 18. WCF REST服務結果404
- 19. REST和託管WCF服務
- 20. WCF Rest服務電話
- 21. 簡單REST服務與WCF
- 22. 從WCF消費REST服務
- 23. WCF REST服務POST方法
- 24. WCF REST服務地址
- 25. WCF Rest服務返回HttpWebResponse
- 26. REST WCF服務在SSL
- 27. 公開WCF服務REST-
- 28. REST POST到WCF服務
- 29. Ninject進入WCF REST服務
- 30. spring.net和WCF Rest服務
標題在Message類中是隻讀的。公共抽象MessageHeaders標題{get; }。 – 2011-01-21 17:32:24
是的,`Headers`是隻讀的,但你仍然可以調用`Headers.Add(...)`來修改集合。 – 2011-01-22 06:15:21