从WCF生成的WSDL中删除模式元素

时间:2011-12-15 10:14:22

标签: wcf wsdl wcf-extensions

我有一个Product Datacontract,其中包含几个属于WCF服务的Datamembers。我还使用DataContractSerializer将此产品Datacontract序列化并存储在我的应用程序中。

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

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

由于 Mofolo

1 个答案:

答案 0 :(得分:2)

黑客攻击WSDL不包含这些信息对你没有帮助。在将类型传递给客户端以及从客户端反序列化时,您的服务仍将使用类型的完整序列化。而不是黑客攻击WSDL和WCF使用DTO进行WCF服务=新的类型集合,它们只包含您真正想要与客户交换的属性。将主对象转换为DTO,反之亦然(您可以创建自己的自定义转换器或使用某些框架,如AutoMapper)。这是最好的做法。