例外の逆シリアル化に問題があります。ネットワーク上で例外を送信することは悪い習慣であることを十分に認識していますが、現在の設定では、システムを統合して動作させる必要があります。バイナリフォーマッタで逆シリアル化した後にException.TargetSiteがnullになる
サーバーシステムは.net 4 wcfサービスで、呼び出し元は.net 2で、標準のWeb参照を使用して.4を呼び出します。
サーバー側は例外をシリアル化し、Base64文字列でエンコードします。受信側
var formatter = new BinaryFormatter();
messageChannel.ServerException = (Exception)
formatter.Deserialize(new MemoryStream(Convert.FromBase64String(base64string)));
で
var formatter = new BinaryFormatter();
var mem = new MemoryStream();
formatter.Serialize(mem, ex);
EncodedException = Convert.ToBase64String(mem.ToArray());
すべてがTargetSite除いてあります。
ご意見をいただければ幸いです。
おかげ
ヨハン