从WCF服务生成2.0 Web服务代理时指定的propertyNameField
时间:2020-03-06 14:43:17 来源:igfitidea点击:
我已经从Visual Studio 2008创建了一个Web参考(添加Web参考),奇怪的是,我需要为我要提交的所有字段将propertyNameFieldSpecified设置为true。失败的话,值不会传递回WCF服务。
我在几个地方都读到它已在Visual Studio的RTM版本中修复。为什么它仍然发生?
我的数据合同全部有效,除了属性和列表外,其他都没有。有任何想法吗?
解决方案
我看到这发生在VB.NET中,该值具有可为空的值,但是Chowever具有"正确"的代码。
也许会有一个想法是从Cproject引用服务。然后从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
但是我还没有看到如何替换"添加Web参考"的行为。
这是一个完整的答案:http://blogs.msdn.com/eugeneos/archive/2007/02/05/solving-the-disappearing-data-issue-when-using-add-web-reference-or-wsdl- exe-with-wcf-services.aspx