我有多个接口。所有这些都应该由单个合约接口继承和公开。
interface A { void X(); }
interface B { void Y(); }
interface C: A, B {} // this is the public contract
这怎么可能?我无法将 ServiceContract 添加到 A 和 B,因为这会导致多个端点。我不想重写 C 中的每个方法。
你是完全正确的,像这样的属性[ServiceContract]
诸如此类not继承 - 您需要在任何应该是服务契约的接口上显式设置它们。这同样适用于[DataContract]
具体数据类上的属性 - 这些属性也不是继承的 - 如果数据协定的后代类本身应该是数据协定,则需要显式标记它。默认情况下,WCF 会尝试让您非常明确地表达自己的意图(我想说,这是一件好事)。
不确定通过编写这样的接口可以获得什么,但您绝对可以拥有一个实现多个有效 WCF 服务契约(接口)的服务实现(具体类)——该设置完全没有问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)