我有一个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;
ToMyBasicHttpBinding和一个ShouldSerializeProxyAddress()方法。
这些都没有停止XmlSerializer尝试序列化HttpBindingBase.ProxyAddress.
所以基本上我不想HttpBindingBase.ProxyAddress序列化,但无法弄清楚如何。