MessageHeaders 定義屬性直接對應 WS-Addressing 標頭:
From、ReplyTo、FaultTo:EndpointAddress 型別To:Uri 型別Action、MessageId、RelatesTo:對應同名標頭MessageId/RelatesTo 為 UniqueId 型別(類 GUID,可自訂字串值),因 WS-Addressing 規範為 xs:anyURI,System.Guid 不足以涵蓋。
雙重功能:儲存目標位址資訊、序列化為訊息標頭。包裝 System.Uri,6 個建構子 5 個接受 Uri,1 個接受字串(內部轉 Uri)。支援相等比較(比較內部狀態)。
對應 WS-Addressing ReferenceParameters。工廠方法 CreateAddressHeader、Write/Get 方法簡化序列化/反序列化。
var header = AddressHeader.CreateAddressHeader("ref param");
var address = new EndpointAddress(new Uri("https://wintellect.com/someService"), new[] { header });
var msg = Message.CreateMessage(MessageVersion.Soap12WSAddressing10, "urn:SomeAction", "Hello There");
msg.Headers.FaultTo = address; // 或 address.ApplyTo(msg) 設定 To 標頭
輸出含 <a:FaultTo>、<a:Address>、<a:ReferenceParameters> 完整結構,符合 WS-Addressing 規範。