我有一个继承自MyBasicHttpBinding
的课程(BasicHttpBinding
),后者又实现了HttpBindingBase
。
HttpBindingBase
有一个属性ProxyAddress。
我想序列化MyBasicHttpBinding
,但我想忽略HttpBindingBase.ProxyAddress
。
我在MyBasicHttpBinding
上有一个名为ToXml()
的方法,其实现方式如下:
public string ToXml()
{
var overrides = new XmlAttributeOverrides();
overrides.Add(this.GetType(), "ProxyAddress", new XmlAttributes { XmlIgnore = true });
var serializer = new XmlSerializer(this.GetType(), overrides);
var builder = new StringBuilder();
var writer = new StringWriter(builder);
serializer.Serialize(writer, this);
return builder.ToString();
}
我在添加覆盖位中尝试了System.ServiceModel.BasicHttpBinding
,但它也没有用。
我也尝试过添加:
[XmlIgnore]
public bool ProxyAddressSpecified = false;
要MyBasicHttpBinding
和ShouldSerializeProxyAddress()
方法。
这些都没有停止XmlSerializer
尝试序列化HttpBindingBase.ProxyAddress
。
所以基本上我不希望HttpBindingBase.ProxyAddress
序列化,但不能弄清楚如何。