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 的源代码,我该怎么办?
不要在你负责的服务合同中使用你无法控制的类。使用单独的类并从ResponseStructure
类的属性中复制。