基本上,我有一个带有成员 X 和 Y 的服务器端类型“Foo”。每当我使用 Visual Studio 的“添加服务器引用”时,我都会看到 WSDL 和生成的代理都将单词“Field”附加到所有成员并更改第一个字母的大小写。 IE 中,“X”和“Y”被重命名为“xField”和“yField”。知道为什么会发生这种情况吗?我无法弄清楚其中的模式。
详细信息 - 我有一个遗留的 ASMX Web 服务,它公开了“Foo”类型。我创建了一个新的 WCF 服务,它是旧 Web 服务的包装器 - 新服务仅包装这些方法,并且可能更新一些字段的值,但它公开完全相同的方法并返回完全相同的类型。我已经多次尝试重新创建引用,每次它总是重命名我的字段:变量“STUFF”在 wsdl 和代理中公开为“sTUFFField”。变量“X”公开为“xField”等。
有趣的是我无法弄清楚模式 - 我尝试创建一个新的 ASMX Web 服务作为测试并包装它 - 然后变量没有重命名。所以我无法弄清楚为什么/何时 WCF 重命名变量的模式。
有人知道吗?
我遇到了同样的问题,sergiosp 的回答让我朝着正确的方向前进。只是添加一些附加信息以希望对其他人有所帮助。
Adding [System.ServiceModel.XmlSerializerFormatAttribute()]
到界面,并重新生成客户端代码为我解决了问题。
public interface IMyService
{
[System.ServiceModel.XmlSerializerFormatAttribute()]
[System.ServiceModel.OperationContract]
recordResponse GetRecord(recordRequest request);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)