如何忽略在自动生成的WSDL中序列化属性?

时间:2016-05-31 12:36:26

标签: c# web-services xml-serialization

我有一个Web服务,在我的类中工作时需要一个额外的属性,但我不希望在客户端上看到这个属性(在WSDL中没有序列化)。我试过了[XMLIgnore],但它没有用。我还在我的班级上添加了[Serializable],在这种情况下,该属性是以不同的名称_x003C_MyPublicField_x003E_k__BackingField1序列化的。有没有办法在不编写自己的序列化程序的情况下执行此操作?

提前致谢。

P.S。我也试过这个Omit Properties from WebControl Serialization,但没有运气。

2 个答案:

答案 0 :(得分:1)

您可以使用[NonSerialized]属性来防止类属性被序列化。请参阅: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; }
}

答案 1 :(得分:0)

您是否尝试删除[DataMember]属性?