代码之家  ›  专栏  ›  技术社区  ›  veili_13

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

  •  1
  • veili_13  · 技术社区  · 8 年前

    我有一个web服务,在处理服务器时,我需要在类中添加一个属性,但我不希望在客户端上看到这个属性(不在WSDL中序列化)。我试过了 [XMLIgnore] ,但它不起作用。我另外添加了 [Serializable] 在我的类中,在本例中,属性以不同的名称序列化 _x003C_MyPublicField_x003E_k__BackingField1 。有没有一种方法可以在不编写自己的序列化程序的情况下完成此操作?

    提前谢谢。

    附言:我也试过这个 Omit Properties from WebControl Serialization 但运气不佳。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Kritner    8 年前

    您可以使用 [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; }
    }
    
        2
  •  0
  •   Samer    8 年前

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