2011-06-14 100 views
2

我正在向WCF服務發送一些SOAP標頭,並試圖使用行爲擴展來捕獲它們。 收到消息時,我正在瀏覽它的頭文件集合。如何從MessageHeaderInfo獲取值

每個頭都是MessageHeaderInfo類型,它沒有value屬性。 如何提取值?它可以用一個醜陋的解析來完成(去除值的xml元素),但它感覺跛腳。

你的幫助是最appriciated!

回答

4

通常使用消息頭的方式是定義一個DataContract(或一個XmlSerializable類)來表示頭,然後使用Message.Headers.GetHeader<T>()來檢索它。該方法將執行反序列化併爲您提供您可以使用的強類型對象。

+0

它確實有效。我有另一個問題 - 看來,如果我在請求中以不同的順序發送標題,其中一些沒有正確的反序列化,我得到空值。有沒有解決方案?我不希望訂單將被修復。 – Alon1980 2011-06-15 06:06:12

+0

我想你可能想爲此更詳細地提出一個單獨的問題。我以前絕對沒有見過... – tomasr 2011-06-15 12:41:57