对于WCF服务可以使用的DataContracts数量是否有限制?

对于WCF服务可以使用的DataContracts数量是否有限制?

问题描述:

使用WCF3.5SP1,VS2008。构建一个公开约10种服务方法的WCF服务。我们已经定义了约40个由服务使用的[DataContract]类型。 现在我们体验到,向项目中添加一个额外的[DataContract]类型(在与其他现有类型相同的名称空间中)未正确公开。新类型不在使用WSDL生成的XSD模式中。 我们已经尽可能复制并重命名现有(和工作)类型,但它也不存在于生成的WSDL/XSD中。对于WCF服务可以使用的DataContracts数量是否有限制?

我们已经在两个不同的开发人员机器上尝试了这一点,这是同样的问题。

是否有可暴露为[DataContract]一种服务类型的数量是否有限制?每个命名空间?

没有,有对数据的合约数量没有硬性限制 - 主要是肯定不低40或50元!

我在猜测的问题可能是这样的:你可以根据需要添加尽可能多的DataContracts - 但除非它们实际上被用作(作为输入参数或服务方法的返回类型),否则他们会赢得不会被序列化到WSDL/XSD中。

如果添加这需要新添加的类型之一,并返回一个任意int值什么的,另一个伪服务方法会发生什么。它显示在WSDL/XSD中吗?

+0

谢谢marc_s。你对DataContract没有被服务方法引用是正确的。给它添加一个引用解决了这个问题。 – Chris 2010-05-28 13:26:08