問題タブ [nservicebus]

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.

0 投票する
1 に答える
768 参照

nservicebus - プロデューサーと同じアプリケーションでNServiceBusサブスクライバーをホストする

NServiceBusを使用して、同じアプリケーション、特にWebアプリケーションでメッセージを公開および消費することは可能ですか?

将来的には、このアプリケーションによって生成されたメッセージを処理するために、別の長時間実行サービスを維持する必要がほぼ確実になります。そのため、最初からNServiceBusを使用したいと考えていますが、現時点では、コンシューマーを起動するだけでよいでしょう。 Webアプリケーションの起動時の発行元。これにより、テストと展開がはるかに簡単になります。

NServiceBus.Host.exeを参照し、global.asaxでプロセスを起動する必要があると思いますが、これを行うために正確に何を呼び出す必要があるかについてのヘルプが必要です。

0 投票する
1 に答える
426 参照

msmq - Webファーム内のディストリビューターを使用したnServiceBus

多数のクライアントと多数のサーバーがある場合、ディストリビューターをどこで実行すべきかわかりません。すべてのクライアントが送信する単一のディストリビューターがあり、すべてのサーバーがそこから動作する場合、それは確かに単一障害点です。この弱点を取り除く方法はありますか?

0 投票する
2 に答える
2662 参照

nservicebus - NServiceBus の複数のサブスクライバー

NServiceBus を使い始めたばかりで、Pubsub サンプルについて質問があります。

私の意図は、Publisher1 の複数のインスタンスを実行して、発行元から送信されたメッセージを受信することでした。また、パブリッシャーをハッキングして、eventMessage タイプのメッセージのみを送信しました。

しかし、パブリッシャーと Subscriber1 の 3 つのインスタンスを開始すると、一度に 1 つのみがメッセージを受け取ります。

何故ですか?それは構成設定ですか、それとも何か他のものですか?

これは私が試したもので、「エンドポイントを開始するときに例外が発生しました。エラーがログに記録されました。理由: コンポーネントが構成される前にプロパティを構成できません。最初に「構成」を呼び出してください。」:

/J

0 投票する
1 に答える
735 参照

command - nServiceBus - すべてのコマンドがハンドラーによって受信されているわけではありません

nServiceBus pub/sub サンプルに基づくテスト プロジェクトで、サーバーの bus.publish を bus.send に置き換えました。サーバーは、5 メッセージごとに 1 秒待機して 50 メッセージを送信します (つまり、5 メッセージの 10 バースト)。クライアントはすべてのメッセージを取得しません。

ソルンには、サーバー、クライアント、共通メッセージの 3 つのプロジェクトがあります。サーバーとクライアントは、nServiceBus 汎用ホストを介してホストされます。バスは 1 つだけ定義されます。

クライアントとサーバーの両方が、StructureMap ビルダーと BinarySerialisation を使用するように構成されています。

サーバー エンドポイント:

サーバーコード:

クライアント エンドポイント:

クライアント クロード:

クライアントとサーバーの App.Config:

すべて VisualStudio 2008 経由で実行されます。

50 件すべてのメッセージが送信されますが、最初または 2 番目のバッチの後で送信されます。バッチごとに 1 つのメッセージのみが送信されますか?

何か案は?私は構成または誤用を想定していますが....?

0 投票する
3 に答える
1606 参照

nservicebus - Microsoft のクラスタ サーバーに NServiceBus をインストールした人はいますか?

更新: OK、MSDTC をクラスター リソースとしてセットアップしていなかったという事実を乗り越えた後 (doh!)、プログラムを実行でき、すべて正常に表示されましたが、メッセージを正常に送信できませんでした。掘り下げた結果、プライベート キューはクラスターの 1 つのノードで作成されたものの、他のノードでは作成されず (コマンド プロンプトから NServiceBus.Host.exe を実行していました)、クラスターを使用するアプリケーションからは見えないことがわかりました。名前。NServiceBus.Host.exe から Generic Application を作成して Cluster グループに追加しようとしましたが、クラスター グループがダウンしてしまいました。私の質問はまだです: クラスタ化された環境で NServiceBus を正常に実行した人はいますか?


NServiceBus をクラスター化された win2k3 ホストにインストールしようとしています。提供された構成ユーティリティ (runner.exe) は、キャッチできなかったいくつかのエラーをスローし、正しく実行されるようになりました。NServiceBus.Host.exe を実行すると、次のエラーが繰り返し発生します。

System.Transactions.TransactionAbortedException: トランザクションが中止されました。---> System.Transactions.TransactionManagerCommunicationException: 基になるトランザクション マネージャーとの通信に失敗しました。---> System.Runtime.InteropServices.COMException (0x8004D01B): トランザクション マネージャーを利用できません。(HRESULT からの例外: 0x8004D01B) System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy (String nodeName、Guid resourceManagerIdentifier、IntPtr managedIdentifier、Boolean& nodeNameMatches、UInt32& whereaboutsSize、CoTaskMemHandle& whereaboutsBuffer、IResourceManagerShim& resourceManagerShim) で System.Transactions.Oletx.DtcTransactionManager(.Inc) ) --- 内部例外スタック トレースの終了 --- System.Transactions.Oletx.OletxTransactionManager で。

NServiceBus をクラスター化されたサーバーにうまく配置した人はいますか? もしそうなら、どのように機能させましたか?

0 投票する
1 に答える
311 参照

messaging - NServiceBus を使用してメッセージを購読するとどうなりますか?

NServiceBus を使用して特定の種類のメッセージの受信者としてサブスクライブする場合

私は実際に何をしていますか?メッセージの受信時に受信者タイプの特定のメソッドが呼び出されるように指定していますか? その場合、どのコンテキスト内でメソッドが実行されますか? 静的コンテキスト、または新しく作成された親クラス インスタンスのコンテキスト内で実行されますか?

0 投票する
1 に答える
632 参照

wcf - NServiceBus は、一般的なクライアント通知と特定のクライアント通知に適していますか

WCF ベースのパブリッシュ サブスクライブ フレームワークのさまざまなオプションを検討しています。パブリッシャーとなる 1 つの WCF Web サービスと、サブスクライバーとして登録された 1000 のクライアントがあるとします。公開されたメッセージの中には、すべてのクライアントが関心を持つものもありますが、同時に、特定のメッセージを 1 人のクライアントに通知できるようにしたいと考えています。通知を受け取ると、クライアントは Web サービスで他の Web サービス メソッドを呼び出します。

NServiceBus はこの種のシナリオに適していますか? トランスポートに MSMQ を使用すると、クライアントがインストールされているすべての PC でキューを作成する必要があるということですか?

0 投票する
1 に答える
1621 参照

structuremap - nServiceBus と StructureMap の統合に関する問題

nServiceBus で StructureMap を使用しようとしています。

プロジェクト:

  • GenericHost エンドポイントを使用してコマンド メッセージを送信します
  • StructMapBuilder を使用して nServiceBus を構成します。
  • シンプルな StructureMap レジストリ構成を使用
  • IWantToRunAtStartup をサポートするスタートアップ クラス TestServer を使用します
  • TestServer クラスには、TestManager クラスへの ctor 依存関係があります
  • TestManager クラスには IBus への ctor 依存関係があります

ObjectFactory.WhatDoIHave() は、StructureMap がクラスの構築方法を知っていることを示しています。

実行すると、ビルドアップ エラーが発生します。nServiceBus が構成を上書きしているようですか?

IBus ctor 依存関係をイベント ハンドラーに追加すると、他の構成がすべて正常に表示されることに注意してください。

エラー:

エンドポイントの開始時に例外が発生しました。エラーがログに記録されました。理由: 'nSeviceBusStructureMapTest.TestServer' という名前のオブジェクトの作成中にエラーが発生しました: タイプ [nSeviceBusStructureMapTest.ITestManager] のインデックス 0 を持つコンストラクター引数によって表された満たされていない依存関係: タイプ [nSeviceBusStructureMapTest.ITestManager] の一意のオブジェクトが定義されていません: タイプ [nSeviceBusStructureMapTest. ITestManager]: オブジェクト [nSeviceBusStructureMapTest.TestServer] のコンストラクターで [miningServiceManage] パラメーターを配線するために、少なくとも 1 つの一致するオブジェクトが必要です

ソース:

何か案は?

0 投票する
1 に答える
607 参照

wcf - WCF Per-Call Service と NServiceBus 相互運用に関するヘルプ/アドバイスが必要

クライアントにデータを提供すると同時にNServiceBusと統合されたWCF Per-Callサービスがあります。
すべてのステートフル オブジェクトは、カスタム サービス ホストに統合された UnityContainer に格納されます。
NServiceBus はサービス ホストで構成され、サービス インスタンスと同じコンテナーを使用します。
すべてのクライアントには、独自のインスタンス コンテキストがあります (Juval Lowy の本で、Durable Services に関する章で説明されています)。

バス経由でリクエストを送信する必要がある場合は、ある種のディスパッチャーを使用し、Thread.Sleep() を使用して応答を待ちます。サービスは呼び出しごとであるため、これは問題ありません。
しかし、バスからのメッセージについて少し混乱しています。そのサービスは、それらを処理してクライアントに提供する必要があります。株価などの一部のデータについては、ある種のステートフル オブジェクトを更新するだけで、クライアントが GetQuotesData() を呼び出したときに、このオブジェクトからデータを提供するだけです。しかし、新しい見積もりが追加されたなど、多数のサービス メッセージがあります。
現時点では、"Postman デーモン" =)) のようなものを実装し、このタイプのメッセージをインスタンス コンテキストに格納するというアイデアがあります。次に、クライアントは「GetMail()」を呼び出し、それらのメッセージを受信して​​解析します。問題は、NServiceBus メッセージが「インターフェイス ベース」であり、WCF 経由で渡すことができないため、抽象クラスから派生した型に変換する必要があることです。

この状況を処理する最善の方法がわかりません。

0 投票する
1 に答える
1023 参照

nhibernate - NServicebusメッセージハンドラーに複数のリポジトリーを挿入するにはどうすればよいですか?

私は以下を使用します:

スレッドローカルストレージに関する私の問題は、アプリケーションスレッド全体で同じセッションが使用されることです。これは、第1レベルのキャッシュがクリアされていないことを確認したときに発見しました。私が欲しいのは、IHandleMessages <>。Handleを呼び出す前に、新しいセッションインスタンスを使用することです。構造マップでこれを行うにはどうすればよいですか?メッセージモジュールを作成する必要がありますか?