当从WCF服务生成2.0 Web服务代理时propertyNameFieldSpecified

问题描述:

我从Visual Studio 2008创建了一个Web引用(添加Web引用),奇怪的是,我需要设置propertyNameField对于我想要的所有字段指定为true提交。不这样做,值不会传回给WCF服务。当从WCF服务生成2.0 Web服务代理时propertyNameFieldSpecified

我已经在几个地方看过,这已经在RTM版本的Visual Studio中修复了。它为什么还在发生?

我的数据契约都是有效的,没有别的属性和列表。有任何想法吗?

我看到这发生在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; } 

} 
+0

我使用类似的代码,但我对SP1已经和着回忆,现在如果之前我申请SP1服务的创建。 也许,你想尝试VS2008SP1。 – leppie 2008-09-25 14:02:19

的XSD.EXE工具是罪魁祸首。当您执行“添加Web引用”时,Visual Studio将为所有引用的类型生成类。为此,它使用xsd.exe工具。有用于更换XSD.EXE出的净

即:http://www.bware.biz/DotNet/Development/CodeXS/Article/Article_web.htm

,但我还没有看到如何更换添加Web引用的行为。