1

我有一个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序列化,但无法弄清楚如何。

4

0 回答 0