如何忽略 属性 在自动生成的 WSDL 中被序列化?
How can I ignore a property from being serialized in auto generated WSDL?
我有一个网络服务,在服务器上工作时,我的 class 中需要一个额外的 属性,但我不希望这个 属性 在客户端(未在 WSDL 中序列化)。我试过 [XMLIgnore]
,但没用。我在 class 上另外添加了 [Serializable]
,在这种情况下 属性 以不同的名称 _x003C_MyPublicField_x003E_k__BackingField1
序列化。有没有办法在不编写我自己的序列化程序的情况下做到这一点?
提前致谢。
P.S。我也试过这个 Omit Properties from WebControl Serialization 但没有成功。
您是否尝试删除 [DataMember] 属性??
您可以使用 [NonSerialized]
属性来防止 class 属性被序列化。参见:https://msdn.microsoft.com/en-us/library/system.nonserializedattribute(v=vs.110).aspx
[Serializable]
public class MyClass
{
public int MySerializedProperty { get; set; }
[NonSerialized]
public string MyNonSerializedProperty { get; set; }
}
我有一个网络服务,在服务器上工作时,我的 class 中需要一个额外的 属性,但我不希望这个 属性 在客户端(未在 WSDL 中序列化)。我试过 [XMLIgnore]
,但没用。我在 class 上另外添加了 [Serializable]
,在这种情况下 属性 以不同的名称 _x003C_MyPublicField_x003E_k__BackingField1
序列化。有没有办法在不编写我自己的序列化程序的情况下做到这一点?
提前致谢。
P.S。我也试过这个 Omit Properties from WebControl Serialization 但没有成功。
您是否尝试删除 [DataMember] 属性??
您可以使用 [NonSerialized]
属性来防止 class 属性被序列化。参见:https://msdn.microsoft.com/en-us/library/system.nonserializedattribute(v=vs.110).aspx
[Serializable]
public class MyClass
{
public int MySerializedProperty { get; set; }
[NonSerialized]
public string MyNonSerializedProperty { get; set; }
}