問題タブ [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.
nservicebus - NServiceBus - メッセージはキューに送信され、キューから削除されますが、IHandleMessages.Handle は発生しません
最初に申し上げておきますが、今日はNSesrviceBus を使用する最初の日です。私の質問が初歩的すぎないことを願っています。
Sender、Receiver、および Messages プロジェクトをセットアップできました。Sender をデバッグすると、構成されたキューにメッセージが表示されます。Receiver をデバッグすると、メッセージがキューから削除されます。ただし、私の IHandleMessages ハンドル イベントは発生せず、コンソール出力は表示されません。
私は何か間違ったことをしたと確信しています (NServiceBus の異なるバージョンのチュートリアルが混在している可能性があります) - 提案をいただければ幸いです。
msmq - 大きな XML メッセージを含む nServiceBus
真のメッセージングについて読んだことがありますが、バスでペイロードを送信する代わりに、識別子を送信します。私たちの場合、多くのレガシー アプリ/サービスがあり、それらは 4 MB に近いメッセージ (xml) のペイロードを受信するように設計されています (MSMQ 制限に近い)。nService バスが大きなペイロードを処理し、メッセージを自動的に永続化する方法または別の回避策はありますか?ペイロード?前もって感謝します。
design-patterns - 再試行を検証するコマンドクエリ分離
したがって、CQSの基本的な概念に慣れています。この概念では、1つのデータベースに書き込み、読み取り元のクエリデータベースを更新するコマンドがあります。
ただし、データを入力するシナリオを検討し、重複を防ぎたいと考えています。
新入社員のデータ入力を例として使用し、応募フォームの山を調べて新入社員の詳細を入力します。
- トップシートを取ります。
- UIに従業員名と一意の給与番号を入力します。
- 送信。
- 「完成した山」に紙を入れます。
- 繰り返す。
たとえば、ユーザーが気が散って、すでに1つを入力したかどうかを思い出せず、「メッセージ」が完全に戻っていない場合など、ユーザーが同じ給与番号を再度入力できないようにするにはどうすればよいでしょうか。ユーザーが検索するクエリデータベース?
nhibernate - nservicebusは、挿入後にサブスクリプションレコードを削除しますか?
数週間 nservicebus で遊んでいますが、ローカル マシンですべてが順調に進んでいたので、テスト環境をセットアップして展開に取り組むことにしました。nservicebus に付属する汎用ホストを使用しており、ローカルで実行するときに nservicebus.Integration プロファイルを使用していましたが、テスト環境で Nservicebus.Production を使用したいと考えています。SQL Server 2008 データベースをセットアップし、app.config に変更を加えたところ、すべて正常に動作しているように見えました。しかし、何度か試行した後、メッセージがサブスクライバーによって取得されていないことに気付きました。サブスクリプション テーブルを確認したところ、空でした。ログを調べたところ、次のことに気付きました。
2010-05-06 15:07:57,416 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister [(null)] <(null)> - 0 を挿入: INSERT INTO [サブスクリプション] (SubscriberEndpo int、MessageType) 値 (? 、?) 2010-05-06 15:07:57,416 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPers ister [(null)] <(null)> - 更新 0: 2010-05-06 15:07:57,416 [ 1] DEBUG NHibernate.Persister.Entity.AbstractEntityPers ister [(null)] <(null)> - 削除 0: DELETE FROM [サブスクリプション] WHERE サブスクライバー エンドポイント = ? AND MessageType = ?
サブスクリプションを挿入してすぐに削除するのはなぜですか? nhibernate ダイアレクトの問題を除外するために、サブスクリプション ストレージを oracle 10g データベースに切り替えてみました。まったく同じように動作し、最初の 2 回は機能しましたが、サブスクリプションが挿入された直後に削除されるのを見始めました。この動作の原因は何ですか?
.net - ゲートウェイモードでNServiceBusを操作する方法
NServiceBusダウンロードのpubsubサンプルをゲートウェイモードで動作させるようにしようとしています。
NServiceBusをゲートウェイモードで実行する方法については、あまり詳しく知ることができませんでした。
パブリッシャー/サーバーをゲートウェイモードに設定するにはどうすればよいですか?試したところ、アクセス拒否の例外が発生しました。これは、実行しているアカウントが原因であるか、何かが不足しているためです。
ゲートウェイと通信するようにサブスクライバー/クライアントを設定するにはどうすればよいですか?
誰かが私を正しい方向に向けることができますか?
.net - SQLServerメッセージトランスポートを使用したNServiceBus
NServiceBusで組み込みのMSMQメッセージトランスポートを使用する代わりに、SQL Serverを物理メッセージトランスポートとして使用する方法はありますか?
ありがとう
nservicebus - NServiceBusエンドポイントの起動時に「メッセージシリアライザーが構成されていません」というエラーが発生しました
GenericHostがホストするサービスが次のメッセージで開始できません。
2010-05-07 09:13:47,406 [1] FATAL NServiceBus.Host.Internal.GenericHost [(null)] <(null)>-System.InvalidOperationException:メッセージシリアライザーが構成されていません。NServiceBus.Unicast.Transport.Msmq.MsmqTransport.CheckConfiguration()のd:\ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ impl \ unicast \ NServiceBus.Unicast.Msmq \ MsmqTransport.cs:line 241 at NServiceBus.Unicast.Transport .Msmq.MsmqTransport.Start()in d:\ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ impl \ unicast \ NServiceBus.Unicast.Msmq \ MsmqTransport .cs:line 211 at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start (アクションstartupAction)in d:\ BuildAgent-02 \ work \ 672d81652eaca4e1 \ src \ unicast \ NServiceBus.Uni cast \ UnicastBus.cs:line 694 at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start()in d:
私のエンドポイント構成は次のようになります。
そして私のapp.configは次のようになります:
これは過去に機能していましたが、汎用ホストの起動時に失敗しているようです。私のエンドポイント構成は、サービスのapp.configとともに以下にあります。奇妙なことに、エンドポイント構成で、メッセージのシリアル化にXmlSerializerを使用するように指定しています。エラーメッセージの前のコンソール出力に他のエラーは表示されません。私は何が欠けていますか?
ありがとう、スティーブ
.net - nservicebus MSMQ で maxretries に達したときにメールを送信する方法
メッセージを処理する .net サービスがあります。失敗した場合は、log4net を使用してファイルに書き込みます。このために SMTP アペンダーを追加しました。問題は、何か問題が発生したときにメールを 1 通だけ送信したいということです。app.config の MaxRetries が 5 に設定されており、これは正しいです。5 つのエラーが log4net ファイルに記録されますが、5 つの電子メールも送信されます。
最大再試行回数を把握し、到達したときにメールを送信する方法はありますか?
ご協力いただきありがとうございます。
wcf - 派生型のNservicebusセリゼーションの問題
コンテキスト設定については、nServiceBusクライアントとnSerivceBusサーバーの間でメッセージを交換しています。それは名前空間xyz.Messagesであり、クラスはMessage:IMessageです。
xyz.Messages.Domain1、xyz.Messages.Domain2、xyz.Messages.Domain3など、他のdllにあるメッセージが他にもあります。そして、その基本メッセージであるメッセージから派生するメッセージ。
エンドポイントは次のように定義されています:
サーバーで
バスは次のように初期化されます
メッセージタイプまたは任意のタイプの派生タイプのメッセージを送信しようとすると、サーバー上およびサーバーでメッセージが正常に送信され、適切なタイプが取得されます。
例えば。
私の問題は、MessageDerived1などのタイプにMessageタイプのメンバー変数が含まれていて、それを派生タイプに割り当てると、そのタイプがネットワーク上で適切に転送されない場合に発生します。派生タイプではなく、メッセージタイプとしてのみ転送されます。
どんな助けでも強く感謝します。
ありがとうTJ
nservicebus - NServiceBus特定のメッセージタイプにBinarySerializerを指定しますが、すべてではありません
NServiceBus 2.0では、特定のメッセージタイプのシリアライザーを定義できますか?
1つを除くすべてのメッセージをXmlSerializerを使用してシリアル化する必要があります。残りの1つは、BinarySerializerを使用してシリアル化する必要があります。
NServiceBus 2.0で可能ですか?