【发布时间】:2012-02-15 14:28:55
【问题描述】:
我正在尝试更新一些返回字符串以返回 XmlDocument 对象的 WCF 服务方法。我尝试按原样返回它并将其封装在数据合同对象中。无论哪种方式,我在尝试更新服务参考时都会遇到错误。该错误建议将其与我正在执行的操作合同一起封装在数据合同中。这有什么诀窍吗?
【问题讨论】:
-
诀窍是:不要这样做。要么按原样返回字符串,要么更好:为什么要返回像 XML 这样的笨重的东西? Web 服务的重点是它们抽象出 XML 粘性 - 您应该使用适当的业务对象(及其列表)。
-
我同意 - 您不应该通过网络返回 XmlDocument 之类的类型。
-
如果你真的想有一个解决方案或回答你的问题,我建议你用你的代码示例、编译器的错误消息等来更新你的问题。
-
@marc_s 这可能是一个术语,但我将“业务对象”关联为一个域对象,我建议人们不要把它放在服务边界上。相反,我告诉人们使用数据传输对象来定义消息有效负载并在这些对象和域对象之间进行映射。使用域对象会限制您在业务层中可以执行的操作
-
@RichardBlewett:这绝对只是术语——我使用的是“业务对象”而不是原始 XML。我同意在服务边界上使用 DTO
标签: wcf xmldocument datacontract