0

我有一个产品数据合同,其中包含几个数据成员,它们是 WCF 服务的一部分。我还使用 DataContractSerializer 将此 Product Datacontract 序列化并存储在我的应用程序中。

现在,我想在生成服务元数据 (WSDL) 时删除产品数据合同的一些数据成员。但是,当我在我的应用程序中序列化对象时,我希望 Product Datacontract 中的所有数据成员都可用。

实际上,我想做的是:抓住 WSDL 生成过程,并从注入到生成的 WSDL 中删除所需的 Datamembers。

谢谢莫弗洛

4

1 回答 1

2

破解 WSDL 以不包含信息对您没有帮助。在将类型传递给客户端以及从客户端反序列化它们时,您的服务仍将使用类型的完全序列化。而不是 hacking WSDL 和 WCF 使用 DTO 为 WCF 服务 = 新的类型集,它将只包含您真正想要与客户端交换的属性。将您的主对象转换为 DTO,反之亦然(您可以创建自己的自定义转换器或使用AutoMapper等框架)。这是最佳实践。

于 2011-12-15T21:12:34.010 回答