2011-10-19 84 views
0

我正在开发需要接收和返回XML的WCF SOA(ish)体系结构应用程序。通过WCF发送XML?

我已经搜索了最佳实践。我唯一知道的是将原始xml作为字符串发送会导致问题。

因此,我在寻找一个XmlTextReader类型的对象,它可能会更优雅地从a到b然后返回。

当我尝试打电话给我的服务需要一个XmlTextReader作为一个类型时,我得到一个错误,并坦率地说,它混淆了我的地狱。

底线它需要接受和接受大量的XML,我不能/不想用我自己的定义类型。

任何帮助?

+2

网络并没有所有的答案...(免费的是)。您应该考虑投资C#XML书籍,例如“用C#2008开始XML:从新手到专业”或“从C#开始XML:C#程序员的基本XML技能”。如果你计划在C#中读/写大量的xml,你应该知道你在做什么。也正如你在.net 4中,你可能想阅读LINQ。有关相关问题,请参阅http://stackoverflow.com/questions/55828/best-practices-to-parse-xml-files。 – Eugene

+0

该死的书:)我知道我知道我必须精明,但是da bawz想要它昨天!几乎完美已经足够完美:)谢谢寿! –

回答

0

一个没有深入分析的答案:你可以将XML转换为Base64编码的字符串,然后像这样发送。

+0

嗯仍然可能有一个大小问题..我没有问题处理一旦到达那里,但由于某种原因,它不会编组XmlTextReader我只是'对象引用未设置为对象的实例'。没有证据表明这种类型不能编组。 –

+0

我不会那样做,因为即使你使用它,你的服务也无法在其他平台上运行。为什么你会在base64上遇到大小问题?你的xml有多大? –

+0

那么从我的服务中返回的XML将很容易违反字符串上的8k限制。我只是不想返回本土复杂的数据类型,因为我不能说谁或可能调用该服务。因此我探索了一个框架XML容器。该死的XML很冗长。 –

0

您可以使用XElement - 个人只在相对较小的Xml-YMMV块上使用此功能。