2011-10-06 79 views
1

我添加了一个服务引用,其产生的所有我datacontract对象我的WCF web服务。我正在使用BasicHttpBinding。使用部分类,我使这些对象中的一个继承了另一个向其添加一些属性的类。现在,它使该服务的调用时抛出一个错误:添加属性来WCF DataContract

试验方法CP.Exg2010.Tests.UnitTest1.TestWCF抛出异常: System.ServiceModel.Dispatcher.NetDispatcherFaultException:本 格式化抛出一个异常,而试图反序列化消息: 尝试反序列化参数 http://tempuri.org/:RunResult时出错。设置InnerException消息是从命名空间 元‘‘CommandResult’“在第1行位置283.错误 ’‘URI://mycomp.corp/line/exg2010’不期望。期待元素 “_EngineTracingData'。有关更多详细信息,请参阅InnerException。 ---> System.Runtime.Serialization.SerializationException:错误 第1个位置283 '元素' '' 从命名空间 'URI CommandResult://mycomp.corp/line/exg2010预计不会'。期待元素 '_EngineTracingData'。

CommandResult是属于WSDL的属性。 _EngineTracingData是基类中属性使用的私有字段。

<XmlIgnore()> <SoapIgnore()> <Newtonsoft.Json.JsonIgnore()> _ 
Private _EngineTracingData As String = String.Empty 
<XmlIgnore()> <SoapIgnore()> <Newtonsoft.Json.JsonIgnore()> 
Public Property EngineTracingData As String Implements Interfaces.ICPMasterBaseInfo.EngineTracingData 
    Get 
     Return Me._EngineTracingData 
    End Get 
    Set(ByVal value As String) 
     Me._EngineTracingData = value 
    End Set 
End Property 

我看了一些关于反序列化的字母顺序发生的事情,这可以解释为什么_EngineTracingData是第一。但是,该字段/属性甚至不应该用于反序列化!

任何帮助,将不胜感激!

回答

0

啊,我找到了!

添加

<非序列化()>

私人领域在基类固定我的问题!