問題タブ [nservicebus5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 特定の ServiceInsight が MessageMutator を介して暗号化されたメッセージを処理する
そのため、さまざまな内部的な理由から、コマンド プロパティに NService Bus の組み込み暗号化を使用できず、代わりにそれを MessageMutator として実装する必要がありました。次のようなコードがあります。
それはすべてうまく機能しており、物事はバスに入れられると暗号化されます. 私がやろうとしているのは、メッセージが Particular の ServiceInsight アプリケーションで表示されたときにメッセージを解読できるようにすることです。彼らが IMutateTransportMessages インターフェイスを提供し、そのサイトで提供しているという事実は、特にこれが完全なメッセージ暗号化を実装する方法であるという事実をほのめかしているような気がします。ServiceInsight が暗号化を解除するためのプラグインを作成するメカニズムがあること。
nservicebus - NServiceBus & IoT - クライアントからのメッセージをキューに直接配置し、サーバー側で NServiceBus を使用して処理します
Out バックエンドは、NServiceBus (バージョン 5) を使用して .NET で記述されています。これまで、クライアント (.NET クライアントと c++ クライアントの両方) は、NServiceBus を持つ WCF サービスにメッセージを送信しており、WCF サービスは NServiceBus メッセージを適切なワーカーに送信していました。
現在、アーキテクチャにいくつかの変更を行っており、一部のクライアントにメッセージを直接キューに入れ、WCF をスキップしてもらいたいと考えています。多くのデバイスがあります (ほとんどは c++ で記述されています)。
NServiceBus は、キューに入れられたメッセージを独自のオブジェクトでラップすることを知っています。私の質問は、NServiceBus が IoT 環境で動作する方法があるかどうかです。デバイスがメッセージを直接キューに入れ、中間にアダプターが存在しない場合は? または、サーバー側 (ワーカー) が NServiceBus オブジェクトでラップされていない「通常の」メッセージを処理するには?
wcf - Nservicebus シーケンス
すべてのメッセージを MSMQ に到着した順に処理する必要があります。
WCF サービスをクライアントに公開します。この WCF サービスは、NServiceBus (Sendonly バス) を使用してメッセージを MSMQ にポストします。
Nservicebus を使用して MSMQ からメッセージを読み取り、データベースに保存する Windows サービス (MessageHandler) を開発します。私たちのデータベースは毎日数時間利用できません。
データベースのダウンタイム中、プロセスは MSMQ の最初のメッセージを再試行し、データベースが起動するまで他のメッセージの処理を停止することが予想されます。データベースが起動したら、メッセージが送信された順に NServicebus を処理します。
MaximumConcurrencyLevel="1" MaximumMessageThroughputPerSecond="1" を設定すると、このシナリオで役立ちますか?
このシナリオを処理するために NServiceBus を使用する最善の方法は何ですか?
wcf - NServiceBus と WCF はどのように連携していますか?
簡略化... ストレージの更新に NServiceBus を使用しています。
このサガでは、最初にストレージからデータを読み取り、データを更新して、再びストレージに戻します。NServicebus インスタンスは、Windows サービスでセルフホストされます。ストレージへの呼び出しは、独自のアセンブリ ('assembly1') で分離されます。
ここで、WCF を介したストレージからの同期読み取りも必要になります。場合によっては、サガでの更新時に必要だったのと同じ読み取りが行われることがあります。
私の意見はかなり明確ですが、間違っているかもしれないので、この質問をしています...
「assembly1」のコピーを使用する別の WCF サービスをセットアップする必要がありますか? それとも、WCF インスタンスは nservicebus をホストする必要がありますか? または、それを行うより良い方法はありますか?
ある意味では、同期呼び出し用の WCF と、現在 nservicebus (既に存在する) をホストする Windows サービスの 2 つのエンドポイントです。
rabbitmq - NServiceBus RabbitMQ - DirectRoutingTopology とメッセージ タイプごとの個別の交換
MSMQ の上で NServiceBus を使用しています。現在、RabbitMQ を使用する方向に進んでいます。一元化されたキューが必要であり、RabbitMQ がニーズに最適であることがわかりました。
プロジェクトの変換は簡単で、RabbitMQ では、各エンドポイントとそのエンドポイントのメッセージ タイプごとに交換 (およびキュー) が作成されていることに気付きました。
http://docs.particular.net/nservicebus/rabbitmq/configuration-apiの「ルーティング トポロジの変更」セクションを読み、そこに書かれています
それほど複雑でないシナリオでは、DirectRoutingTopology を使用できます
ドキュメントで説明されていないのは、ソリューションを と見なすパラメータですcomplex
。
DirectRoutingTopology
検索したところ、複雑と見なされるものと、複数の交換が使用されるデフォルトのオプションよりもいつ使用すべきかを説明している場所が見つかりませんでした。または、各アプローチの違い/パフォーマンスに関する考慮事項は何ですか。
誰か知っていますか?
c# - CQRS で NServiceBus を使用してコマンドおよびクエリ ストアを更新する方法
CQRS では、コマンド ハンドラーが書き込みストアと読み取りストアをトランザクション的に更新していることをどのように確認しますか?
この 2 つのステップがトランザクションとしてサポートされているかどうかわかりません。それとも、ここで結果整合性に依存しますか? 最終的に読み取りストアが更新されることを意味しますか?
NServiceBus 5または6を使用してこれを行う(または)一般的な方法は何ですか?
私たちのアプリケーションではIRepository<T>
、コマンド側で Sql Server データベースを更新するための (追加、更新) があります。クエリ側は単純です。Entity Framework 上のデータベースとファサードDbContext
。
コマンド側の手順は次のとおりです。
- MVC コントローラーが View からデータを受け取る
- コントローラー アクションはコマンド/メッセージ オブジェクトを作成し、それをバスに送信します。
- 適切なコマンド ハンドラーは、適切なドメイン オブジェクトを作成し、それに対して検証を行います。
- 有効な場合、IRepository を使用してデータベースを挿入または更新します。
- それで?
これは、ステップ 1 と 2 がコマンド ストアと読み取りストアを更新する NServiceBus の Saga である必要がありますか?
ありがとうございました。
c# - NServiceBus は、目立たないモードで Endpoint または MessageEndpointMappings を見つけることができません
最新の NSB 5.2.9/Host6.0 を使用しTestService
て、WCF サービス インスタンスがプリミティブTestCommand
をエンドポイントに送信するプリミティブ エンドポイントをプリミティブ WCF サービスに接続しようとしています。TestService
これを正しく構成できません。エラーメッセージ:
「目立たないノード」を使用せずにこれを行うことはできますが、規則を使用することはできません。すべてを試した後、これを構成する方法について非常に混乱しています。WCF ホストは自己ホスト型ですが、テスト エンドポイントは NServiceBus.Host によってホストされます。
- IIS WCF ホスト アプリケーションの web.config
- NServiceBus.Config.IConfigurationSource 経由
- NServiceBus.Config.IProvideConfiguration 経由
今、私はこれをweb.configに持っていますが、これは一見役に立たず、無視されています:
「目立たないモード」: WCF ホスト エンドポイントと TestService エンドポイントによって参照される規則用に別のプロジェクトを作成しました。
これらの慣例は、 によって取り上げられているようTestService
です。
私の理解では、IIS WCF ホストはその web.config でマッピングを宣言する必要があるため、WCF サービスはメッセージの送信先を認識できますがbus.Send(new TestCommand("test"));
、これは機能しません。
次に、両方のエンドポイントでこれらのマッピングを定義しようとしましたが、うまくいきませんでした。
このメソッドは、上記の規則を使用して見つかったすべてのメッセージ タイプを出力します。
上記のメソッドは、メッセージ タイプ「TestCommand」を出力するため、作成された規則について認識しています。
タイプミス、ケーシング、すべてについてすでに1000倍をチェックしました。溶液をきれいにしました。 私の質問は、なぜ NServiceBus がエンドポイントを見つけられないのですか?
助けてください。