我有一个带有PostData操作协定的WCF服务。此方法接受字符串。此字符串应该是 3 个对象之一。我为这些对象创建了 2 个类,并用 [DataContract] 和 [DataMembers] 装饰它们。
因为我没有在 PostData 操作协定中引用这些类,所以它们不会显示在 WSDl 中。 希望客户端能够创建其中一个类的实例,然后在 PostData 中传递序列化的对象。这将使我免于创建 3 个不同的运营合同。
这可能吗?
谢谢
所以我在这里决定的。
客户端可以序列化 3 种类型并将其传递给单个 Web 方法。 我在共享 dll 中提供了这 3 种类型。 客户端创建这些类型之一的对象,序列化并将其与 Enum 参数一起传递给 Web 服务。 此枚举允许 Web 服务将字符串反序列化回适当的类型并继续处理。
这减少了 Web 服务端的工作量,因为我不必为每种类型编写一个 Web 方法,我只需要一个方法。
这可能有助于希望解决类似问题的其他人。