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属性总是多。