1

我有一个带有返回复杂数据类型的方法的 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 的源代码,对此我能做些什么?

4

1 回答 1

0

不要在您负责的服务合同中使用您无法控制的类。使用单独的类并从类的属性中复制ResponseStructure

于 2013-10-08T14:28:43.033 回答