2011-09-26 33 views
0

我想用IDispatchMessageInspector和BeforeSendReply方法返回客戶端之前改變重播,但爲時已晚的原因是消息序列化即可。注入系列化之前WCF

這是另一個WCF接口或其他方式來改變由服務返回的數據,但尚未序列化?

我想使用的服務回報數據來生成新的數據,做自己的序列化時接受類型爲text/html的

回答

1

其將返回對象和傳出消息之間是IDispatchMessageFormatter的組件。內容協商(改變取決於傳入Accept頭響應格式)是在「經典」 WCF可行的,但你需要編寫自己的格式來處理它 - 對傳入的請求它會檢查有什麼accept頭和存儲它在某處(例如操作上下文),並且在傳出響應時它將獲得該頭部的值並決定如何格式化傳出響應。

隨着WCF的Web的API,但是,內容協商是一個容易得多,而且確實有很多的樣品是這樣做。請在http://wcf.codeplex.com查看 - Content Manager示例具有一些內容協商功能。

+0

IDispatchMessageFormatter對我很好! – netmajor