我从 Visual Studio 2008 创建了一个 Web 引用(添加 Web 引用),奇怪的是,我需要将我要提交的所有字段的propertyNameField Specified 设置为 true。如果不这样做,值将不会传递回 WCF 服务。
我在几个地方读到这已在 Visual Studio 的 RTM 版本中得到修复。为什么它仍然发生?
我的数据合同都是有效的,除了属性和列表。有任何想法吗?
我在 VB.NET 中看到这种情况发生在具有可为空值的情况下,但 C# 具有“正确”代码。
也许一个想法是从 C# 项目中引用该服务。然后从您的 VB.NET 代码中引用该项目。
我正在使用 C#。我怀疑它与自动属性有关,但没有运气。
这是一个示例类:
[DataContract]
public class BrowserBase : IBrowser
{
[DataMember]
public BrowserType BrowserType { get; set; }
[DataMember]
public IList<ResolutionBase> Resolutions { get; set; }
}
XSD.EXE 工具是罪魁祸首。当您执行“添加 Web 引用”时,Visual Studio 将为所有引用类型生成类。为此,它使用 xsd.exe 工具。网上有 xsd.exe 的替代品
即:http ://www.bware.biz/DotNet/Development/CodeXS/Article/Article_web.htm
但我还没有看到如何替换 Add Web Reference 的行为。