2010-05-13 61 views
1

我正在向國際HTTP標準寫入服務,並且有一種方法可以返回三種不同的XML結果,稱之爲單一,多重和錯誤。現在我寫了一個IXmlSerializable類,它可以使用這些結果並生成它們。但是,WCF似乎堅持我只能有一個返回的XML根名稱。我必須爲我的單個,多個或錯誤的自定義對象選擇一個XmlRoot。WCF操作中返回不同的XML

如何設置WCF,以便我可以在運行時選擇根目錄?

這是我目前的。

/// <summary> 
/// A collection of items. 
/// </summary> 
[XmlRoot("Multiple", Namespace = "DAV:")] 
public sealed class ItemCollection : IEnumerable<Item>, IXmlSerializable 

/// <summary> 
/// Processes and returns the items. 
/// </summary> 
[WebInvoke(Method = "POST", UriTemplate = "{*path}", BodyStyle = WebMessageBodyStyle.Bare)] 
[OperationContract] 
[XmlSerializerFormat] 
ItemCollection Process(string path); 

的ItemCollection實現IXmlSerializable的和可以選擇的可能回報來寫,但是根XML節點是因爲在ItemCollection類XmlRoot屬性總是多。

回答