我有一个WCF Web服务,其中包含一个返回复杂数据类型的方法。此数据类型在程序集引用中定义,我没有源代码。
此数据类型具有用于访问它们的私有字段和公共属性,但我的服务生成一个WSDL,其中只有私有字段可见。例如,如果程序集引用中的类如下所示:
class ResponseStructure {
private XmlElement bodyField;
public XmlElemente Body { /*getters and setters for bodyField */ }
}
当我在任何应用程序中将此服务添加为服务引用并尝试使用ResponseStructure
时,我不仅可以访问bodyField
(我甚至无法从服务中看到,因为字段是私有的,但我实际的Body
属性甚至都没有出现。
如果我尝试链接WCF服务,即让service1将所有请求传递给service2,然后再传回响应,则会发生同样的事情。来自service2的数据类型,当在service1的WSDL中引用时,只包含私有字段。
我知道我无法访问引用程序集或service2的源代码,我能做些什么呢?
答案 0 :(得分:0)
请勿在您负责的服务合同中使用您无法控制的课程。使用单独的类并从ResponseStructure
类的属性中复制。