![]() |
1
3
这个问题接近于OO多态性和SOA这场神圣战争的边缘,但我将提供我的两分钱: 当您考虑开发一个服务层时,应该向服务的最终消费者清楚应该传递什么和期望什么;方法2不能很好地处理这个问题。(同样,在其他.NET项目中使用WCF执行SOAP,然后从WSDL加载时,它没有正确地标记抽象类,也没有传输接口。看来,wsdls无法描述不可实例化的基类。) 尽管如此,我必须承认,我认为第二个过程使用knowntypeattributes(正如我刚才看到的Marc_所发布的那样)是很好的——当考虑到未知的未来需求时,我自己使用了它。 |
![]() |
2
2
我同意从OOP的角度来看,方法2看起来更好。 但是:SOA/WCF和多态性通常不太匹配——SOA(至少在进行基于SOAP的调用时)需要具体的类,这些类可以在定义服务的WSDL/XSD中表示。 你 可以 使用基于公共基类型的派生数据类型-如果这样做,则必须查看 KnownType 属性(或) ServiceKnownType )向WCF发出信号,表明您可能返回的内容不是操作合同实际规定的内容。 |
![]() |
Jimmyt1988 · DataMember连接成逗号分隔的字符串 10 年前 |
![]() |
Nikki · 对象引用未设置为数据协定中对象的实例 11 年前 |
![]() |
M Afifi · 常量、WebServices、命名空间和共享程序集 12 年前 |
![]() |
Mrinmoy Das · 使用DTO作为数据契约 12 年前 |