私のプロジェクトのイベント用にRxを使用しています。よくやって。コード、パフォーマンスの優位性を管理し、実行して解釈する方がはるかに優れています。非同期パターン(queue.BeginReceive、queue.EndReceive)を使用してMSMQメッセージを受信するためのリアクティブエクステンション(Rx)の使用
最近、私はすべての着信データを(ソケット操作から)待ち行列に入れる(待ち行列のために決定されたMSMQ実装を使用して)必要がある場合に、プロジェクトのプロセスフローを変更する必要があります。
MSMQはキューからメッセージをデキューするための非同期呼び出しを提供しますが(wierdパターン) 私は今この目的のためにRxを使用することに苦労していますが、そうすることができます。
質問:非同期パターンを使用するキューからのメッセージ受信用にRxを実装するためのクリーンなコード例があります。
私は事前にこの
var data = Observable.FromAsyncPattern<byte[]>(
this.receiverSocket.BeginReceive,
this.receiverSocket.EndReceive(some parameters);
のおかげのようなものに類似したMSMQのための非同期オペレータの実装を必要とします。 * Rxおよび.NETへ歓声 *
あなたはパラメータを持つ 'EndReceive'を持つクラスに私を指すことができますか?私はそれを見つけることができません... – Enigmativity
私はあなたが尋ねているものは確信していませんが、私は理解したものの答えです。私は "System.Messaging.Message"オブジェクトを返すBeginReceiveとEndReceiveのRx実装(FromAsyncPattern)が必要です。非同期メソッドは、System.Messaging.MessageQueueオブジェクトメソッド用です。あなたは今、より良いアイデアを得ることを願っています。私は満足していて、Rxの質問に関してはあなたが超高速に返信することを確信していました:D – Jsinh
'MessageQueue'クラスの' EndReceive'メソッドのどれも 'IAsyncResult'以外のパラメータを持っていません。あなたの 'receiverSocket'はどんなタイプですか? – Enigmativity