gpt4 book ai didi

wcf - 获取 WCF 服务实现中参数的原始 XML

转载 作者:行者123 更新时间:2023-12-04 20:52:51 27 4
gpt4 key购买 nike

我正在设置一个新的 .NET 4.0 WCF 服务,其方法(操作)将强类型 XSD 生成的数据类型作为参数。这使客户端的事情变得干净整洁 - 客户端可以使用强类型而不必考虑 XML。

但是,在 WCF 服务的实现中,我更愿意将参数数据作为 XML 文档(LINQ XDocument)而不是反序列化的对象类型来处理。 WCF 将反序列化为显式类型很好,但是对于我的通用算法来说,处理 xml 文档更方便、更灵活,主要是因为传入的数据是多态的。

我知道我可以只获取参数对象并将它们序列化回 XML,但这似乎很浪费。

我知道我可以用 XElement 替换强类型参数以获得我想要的实现方便,但这将失去客户端强类型(编译器检查、智能感知、自我文档)的好处。

有什么方法可以告诉 WCF 在我的服务实现中我不需要反序列化参数对象,而是希望将它们作为 XML?

或者,有没有办法像在 WCF 将它们反序列化为对象之前那样访问参数的原始 XML?如果我不能阻止 WCF 花时间反序列化对象,至少这将避免将它们重新序列化回 XML 的成本。

最佳答案

一种方法是创建一个 message inspector这将检查服务器上的传入消息,并对其采取行动(例如将其存储或其他内容)。

Pablo Pialorsi 有一个 great blog post on how to write a message inspector , 一步步

检查消息将使您能够访问原始 SOAP 消息格式的参数。

我认为参数检查器可能是更好的选择,但似乎这些检查器只会在这些参数已经反序列化为对象后才开始处理任何服务调用的参数,所以这听起来不像是可行的方法....

关于wcf - 获取 WCF 服务实现中参数的原始 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458958/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com