2016-12-02 1 views
1

私はAzureキューで動作するrebus workerを持っています。メッセージを送受信するrebusworkerを設定しました。私はにメッセージを送信したいキュー名を設定することができますどのように私はキューの名前をrebus azureキューの双方向クライアントに設定できますか?

_bus = Configure.With(adapter)     
       .Transport(
       t => 
        t.UseAzureStorageQueuesAsOneWayClient(AppSettingsReader.AzureStorage) 
       ) 

      .Routing(r => r.TypeBased() 
       .MapAssemblyOf<SomeCommand>(queueAddress) 
      ) 

      }) 
      .Start(); 
    } 

:しかし、私はこのような一方向クライアントとしてクライアントを設定したいですか?それはそのままで、queuenameのnull参照例外を返します。

私はあなたがSomeCommandのアセンブリからのメッセージを送りたい先の、キューの名前でなければなりませんスニペットにREBUSとqueueAddress rebus.AzureStorage 0.99.74

答えて

0

を使用しています。

は非常に具体的に、のはあなたに

.Routing(r => r.TypeBased() 
    .MapAssemblyOf<SomeCommand>("commandprocessor") 
) 

、その後、あなたが

await bus.Send(new SomeCommand(...)); 

その後、REBUSがキューcommandprocessorにそのメッセージを送信するふりをしましょう。

+0

答えをいただきありがとうございます。一時的な回避策として、このようにして問題なく動作させていただきました。 onewayクライアントは例外をキャストしたので、トランスポート設定でダミーキューアドレスを持つ通常のクライアントとして構成しました。そして私は、私がルーティングに使用するQUEUENAME .. .Transport( トン=> t.UseAzureStorageQueues(AppSettingsReader.AzureStorage、 "dummyqueue") ) .Routing(R => r.TypeBased() を追加しました。 MapAssemblyOf ( "Name ofTheQueueToSendTo") ) –

関連する問題