可能重复:
仅获取 WCf 消息的正文
早上好,
我有一个 WCF 服务,它构建一个复杂的对象,然后将它发送到消费客户端。目前该服务运行良好,但 xml 在客户端上重新膨胀/反序列化,我不希望这样,因为客户端想要使用 XML。
那么有没有办法获取作为 WCF 服务响应的一部分传输的“XML 文档”。当然,我可以在客户端再次对其进行序列化,但如果可以避免额外的步骤,为什么还要这样做。
TIA JB
可能重复:
仅获取 WCf 消息的正文
早上好,
我有一个 WCF 服务,它构建一个复杂的对象,然后将它发送到消费客户端。目前该服务运行良好,但 xml 在客户端上重新膨胀/反序列化,我不希望这样,因为客户端想要使用 XML。
那么有没有办法获取作为 WCF 服务响应的一部分传输的“XML 文档”。当然,我可以在客户端再次对其进行序列化,但如果可以避免额外的步骤,为什么还要这样做。
TIA JB
尽管在服务器端和客户端都可以连接到多个 WCF 接收/发送步骤,但您可以在其中影响序列化的执行方式(在您的情况下不执行),但我相信这对您来说开销太大设想。
您最好简化工作流程并坚持使用开箱即用的功能。
我认为最简单的方法是仅在服务器端手动序列化您的对象,然后将结果作为字符串发送回客户端。
为了保持灵活性(您稍后可能希望添加更多伴随序列化数据的数据)将此序列化 XML 放入专用数据传输对象 (DTO)的属性中。
然后将此 DTO 发送给客户端,客户端只需从该属性中读取 XML。
当然,在幕后仍然有一些序列化。但这将是 WCF 服务/客户端通信完全透明地执行的内置功能。如果您没有严重的理由手动影响它,请保持原样。如果你不知道你在做什么,你可能会打开潘多拉的盒子......
像上面描述的 DTO 这样发送一个简单的对象在这里应该没什么大不了的。我的意思是,这种情况主要是通过网络发送一堆字符串,这不会造成任何麻烦并且开销很小。