私はクラス ( 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
add overrides ビットを試してみましたが、どちらも機能しませんでした。
私も追加しようとしました:
[XmlIgnore]
public bool ProxyAddressSpecified = false;
とメソッドMyBasicHttpBinding
。ShouldSerializeProxyAddress()
これらのいずれもXmlSerializer
、シリアル化の試行を停止していませんHttpBindingBase.ProxyAddress
。
HttpBindingBase.ProxyAddress
したがって、基本的にはシリアライズしたくありませんが、方法がわかりません。