2

ActiveMQメッセージングにApacheNMSを使用することを計画していますが、送信するオブジェクトでどのシリアル化方法が使用されるのか疑問に思っていますか?XML /バイナリ?シリアル化を制御するものと、それをカスタマイズするにはどうすればよいですか?

誰かがC#オブジェクトでこれを行った経験がありますか?あなたが知っている落とし穴はありますか?

4

1 に答える 1

4

IObjectMessageのデフォルトはSystem.Runtime.Serialization.Formatters.Binary.BinaryFormatterです。

あなたは例えばによってあなた自身を設定することができます

IObjectMessage m = session.CreateObjectMessage();

((ActiveMQObjectMessage)m).Formatter=new SoapFormatter();//Or any IFormatter

デフォルトのBinaryFormatterでオブジェクトを送信しない場合は、受信側でIObjectMessage.Bodyにアクセスする前にフォーマッターを設定する必要があります。

必要に応じて、IByteMessage / ITextMessageを送受信し、オブジェクトを任意の方法でメッセージにシリアル化することもできます。

于 2009-08-31T18:22:09.907 に答える