wcf返回一个XmlDocument?

Bla*_*aze 5 c# xml wcf xmldocument

我有一个WCF服务,我使用XmlWriter构建一个XML块.一旦完成,我想让WCF将其作为XmlDocument返回.

但是如果我在[OperationContract]中有XmlDocument它不起作用:

[OperationContract]
XmlDocument GetNextLetter();
Run Code Online (Sandbox Code Playgroud)

WCF测试实用程序提供:

System.Runtime.Serialization.InvalidDataContractException:无法序列化类型'System.Xml.XmlDocument'.

小智 13

将xmlserializer附加到您在操作合同中执行的操作

[OperationContract,XmlSerializerFormat]
XmlDocument GetNextLetter();
Run Code Online (Sandbox Code Playgroud)

这样做会!


Sam*_*ack 10

如果你使用.Net 3.5,那么你可以尝试返回XElement - 这实现了IXmlSerializable,这是使它与DataContractSerializer一起工作所需的缺失成分.