3

nServicebusに同梱されているすべてのサンプル プロジェクトは、送信者とホストが Web ロールとワーカー ロールである (そしてロール エントリ ポイントを介してホストされている) ように設定されているようです。

私はこのようなことをする必要があります:

Web ロールがメッセージを送信 --> オンプレミス ホストがメッセージを処理

Azure キュー ストレージのみを使用する (MSMQ を使用しない) ようにオンプレミスのホストを構成することはできますか?

どこにも文書化されたこの例が1つも見つからないようです。

4

2 に答える 2

3

はい、これは可能です。バスを初期化するときにトランスポートを指定するだけです。

   var config = Configure.With()
                 .SpringBuilder()
                 .AzureConfigurationSource() <--- Don't use this when working on premise.
                 .XmlSerializer()
                 .UnicastBus()
                 .LoadMessageHandlers()
                 .AzureQueuesTransport()  <--- Configure Azure Storage Queues
                 .IsTransactional(true)
                 .PurgeOnStartup(false)
                 .InMemorySubscriptionStorage();

ドキュメントの部分については、 https ://github.com/NServiceBus/NServiceBus/tree/master/Samples/Azure の github を参照することをお勧めします。

これらのサンプルのほとんどは Windows Azure で実行することを意図しているため、AzureConfigurationSourceを使用することに注意してください。これは、RoleEnvironment の設定を使用するため、オンプレミスで実行している場合は機能しません。オンプレミスで作業する場合は、 AzureConfigurationSourceを使用しないでください。

于 2012-04-23T06:59:07.857 に答える
-1

nServiceBus を使用したことはありませんが、オンプレミスと Azure 間のハイブリッド通信には Azure Service Bus が最適なオプションのようです。

ServiceBus キューを使用するか、モデルについてよりインテリジェントになり、トピックとサブスクリプションを介してパブ/サブスクライブを行うことができます。

この例では、Web ロールをキュー/トピックに書き込み、オンプレミスのコンシューマーが REST (.NET API) を介してキュー/トピックから読み取ることができます。(下のリンクの例を参照してください)

それらの MSDN へのリンクを確認してください: http://msdn.microsoft.com/en-us/library/windowsazure/hh367516.aspx

もちろん、Udi Dahan に最善の方法は何かを尋ねるのも良い考えかもしれません :)

于 2012-04-23T03:28:25.623 に答える