none
リモーティング時、デリゲートのバイナリシリアライズで落ちる RRS feed

  • 質問


  • 環境WinXP C# VS2005

    リモーティングによるプロセス間通信で問題が出ております。

    オブジェクトのシリアライズには
    BinaryServerFormatterSinkProviderを使っています。

    プロトコルはTCP/IPC両方使用したいですが
    今回は関係ないと思います。

    次のようにデリゲートのインスタンスを含む
    オブジェクトをバイナリシリアライズしようとすると、
    「呼び出しのターゲットが例外をスローしました。」
    とのことで落ちてしまいます。

     [Serializable]
     public class DelegateBinarySerializeTest
     {
      string s = "Test";

      public delegate int DelegateOnTest( int i );
      public DelegateOnTest OnTest;
     }


    MarshalByRefObjectの継承等で渡せることは知っているのですが、
    今回はこれを渡したいのではなく、
    デリゲートの部分だけシリアライズしないようにしたいです。
    (渡さないようにしたい)

    XMLシリアライズであれば、
    [System.Xml.Serialize.XmlIgnore()]
    が使えますが、バイナリフォーマッタの場合、
    これに相当するものはありますでしょうか。
    宜しくお願い致します。


     

    2007年11月13日 7:29

回答

すべての返信