WCF Web 服务 WSDL 包含引用类的私有字段

本文关键字:字段 引用 Web 服务 WSDL 包含 WCF | 更新日期: 2023-09-27 18:34:20

我有一个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 的源代码,我该怎么办?

WCF Web 服务 WSDL 包含引用类的私有字段

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