問題タブ [nservicebus3]
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 - IIS がホストされている場合 (Asp.net および WCF)、NServicebus で CPU 使用率が高くなりますか?
ASP.net MVC アプリに NServicebus を追加した後、CPU 使用率が 5% から 50% に上昇したことに気付きました。これは、負荷がかかっていないサーバー上にありました。WCF アプリをホストする別のサーバーでも同じ動作が見られました。さまざまなことを試した結果、バスを送信専用に設定すると、CPU 使用率が 5% に低下することがわかりました。バスが送信専用に設定されていないときに CPU 使用率が非常に高い理由を知っている人はいますか?
c# - NServiceBusRavenDBSagaパーシスターはJsonIgnoreAttributeを無視します
シリアル化と逆シリアル化の際に無視する必要のあるプロパティを持つオブジェクトをSagaデータに保存しています。これらのプロパティを[NonSerialized]と[JsonIgnore]の両方でマークしようとしました(そしてクラスに[DataContract]で注釈を付け、それらのプロパティを[DataMember]にしないでください...)、何もうまくいかないようです。私が何をしても、NServiceBusがJson.NETを呼び出してsagaデータを永続化すると、すべてのプロパティがシリアル化されます。また、問題のオブジェクトにカスタムJsonConverterを実装しようとしましたが、それも無視されます(はい、オブジェクトタイプに[JsonConverter(typeof(MyConverter))]で注釈を付けています...)
sagaデータに含まれるオブジェクトのプロパティを無視するようにsaga永続性を取得する方法はありますか?参考までに、NServiceBus 3.2.7、Json.NET 4.5.7、およびRavenDBビルド960を使用しています。バスはRavenDB永続性とsaga永続性を使用するように構成されています。
nservicebus - NServiceBus 3.2.7 のデプロイ時にキューを設定する権限を取得できません
そのため、GO パイプラインを使用して NServiceBus の最新バージョン (3.2.7) を含むプロジェクトのアップグレードを展開すると、キューを作成する何らかのアクセス許可の問題が発生したようです。手動で作成すると、サービスはまだ機能しないようです。それから読んでください。
これが私のエンドポイント構成です
サービスに問題があると言ったようです。私は NServiceBus を初めて使用するので、host.exe を実行するのではなく、これをサービスとして展開する方法について確信が持てません。
また、これをローカルで実行すると、開発環境のキューをポイントして読み取ることができます。
asp.net-web-api - NServicebus と ASP.NET Web API - MSMQ トランザクションの問題?
HTTP PUT メソッドで DTO を受け入れ、いくつかの検証を実行してから Bus.Send()sa コマンドを実行する ASP.NET Web API を取得しました。
現在、すべてのメッセージは、構成された MSMQ エラー キューで終了しています。
私が使用しているモデルの概要として、いくつかの擬似コードを次に示します...
調査の結果、Web API アクション メソッドの最後の中括弧/大括弧にブレークポイントを設定し、[コンピューターの管理] で MSMQ を確認すると、メッセージが正しいキューに入れられ、適切に形成されていることがわかります。
最後のブラケットを通過すると、メッセージはすぐにエラー キューに移動します。ブレークポイントの後に実行されている他のコードはないようです (カスタム フィルター/属性など)。
私はそれがキューがトランザクションであることと関係があり、何かがそのトランザクションを中止させていると理論付けていますが、それが何であるかを理解することはできません..
どんな助けでも素晴らしいでしょう、ありがとう、
nservicebus3 - Nservicebus - ワーカー ノードが動的キューを作成できない
キューを作成しないように Nservicebus を指定する以前の構成がありました。その構成を流暢から削除して、キューを作成できるようにしました。
各ワーカー ノードに固有の動的キュー作成では、ワーカー ノードのキューは作成されません。
次のエラーがスローされます。
System.InvalidOperationException: 入力キューに問題があります: FormatName:DIRECT=OS:machinename\private$\nodename.2b75b263-4511-43d8-83b9-e1de5710fcdb. 詳細については、同封の例外を参照してください。---> System.Messaging.MessageQueueException: キューが存在しないか、操作を実行するための十分な権限がありません。
System.Messaging.MessageQueue.MQCacheableInfo.get_Transactional()
で System.Messaging.MessageQueue.get_Transactional()
で NServiceBus.Unicast.Queuing.Msmq.MsmqMessageReceiver.QueueIsTransactional() で c:\TeamCity\buildAgent\work\nsb.master_2\ src\impl\unicast\queuing\NServiceBus.Unicast.Queuing.Msmq\MsmqMess ageReceiver.cs:124 行目
--- 内部例外スタック トレースの終了 ---
c:\TeamCity\buildAgent\work\nsb.master_2\src\impl\unicast\queuing\NServiceBus.Unicast.Queuing.Msmq\MsmqMessageReceiver.cs:line の NServiceBus.Unicast.Queuing.Msmq.MsmqMessageReceiver.QueueIsTransactional() で
c:\TeamCity\buildAgent\work\nsb.master_2\src\impl\unicast\queuing\NServiceBus.Unicast .Queuing.Msmq\ の NServiceBus.Unicast.Queuing.Msmq.MsmqMessageReceiver.Init (アドレス アドレス、ブール値トランザクション) で130 MsmqMessageReceiver.cs:
c:\TeamCity\buildAgent\work\nsb.master_2\src\impl\unicast の NServiceBus.Unicast.Transport.Transactional.TransactionalTransport.NServiceBus.Unicast.Transport.ITransport.Start(アドレス アドレス) の34 行目\transport\NServiceBus.Unicast.Transport.Transactional\TransactionalTransport.cs:180行目
c:\TeamCity\buildAgent\work\nsb.master_2\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 828 の NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action startupAction) で
msmq - NServiceBusでメッセージを処理するときにMSMQが大量のメモリを消費する
NserviceBusを使用する2つのWindowsサービスがあります。1つはキューにメッセージを書き込み、もう1つはキューから読み取り、何らかの処理を行います。すべてのキューはトランザクションであり、NserviceBusエンドポイントは次のように構成されています。
問題は、大量のメッセージ(170,000以上)がキューに入れられ、MSMQサービス(mqsvc.exe)がかなりのメモリ(1.5〜2.0 GB)を消費し、そのメモリが少なくとも5〜6の間解放されない場合です。時間。平均メッセージサイズは約5〜10KBです。また、キューに入れるメッセージが多いほど、使用するメモリも増えるようです。NServiceBusベースのWindowsサービスのメモリ消費量は完全に許容範囲内(50〜100 MB)であり、処理するメッセージの数に関係なく増加しません。
MSMQがこれだけのメモリを使用し、リリースにかなりの時間がかかる理由についてのアイデアはありますか?ヒープに感謝します。
nservicebus - Webアプリケーション(NServiceBus v3.2.0.0)からBus.Send(公開ではない)を使用する
多数のイベントを公開するasp.netmvc3アプリケーションがあります。最近、誰かがWebアプリケーションからイベントを公開するのではなくメッセージを送信する必要があると指摘し、この優れたブログ投稿を参照しました。これは完全に理にかなっています。ただし、投稿で作成されたポイントがNServiceBus v3.xでも有効であることを確認したいですか?
ありがとう!
visual-studio - NServiceBus「利用可能なソースがありません」
NServiceBus を使用する Web API プロジェクトに取り組んでいます。NserviceBus ホストを起動するたびに、デバッグ プロセスが中断し、「利用可能なソースがありません」というメッセージが表示され、何が起こっているのかわかりません。API プロジェクトからメッセージを送信することができ、ホストはエラーを過ぎて続行するだけでそれを取得しますが、ホストを起動するたびにそのメッセージが表示されます。
私のnservicebus構成:
私のweb.config:
app.config:
私のハンドラーは IHandleMessages を実装しており、エラー メッセージを処理し続けると、メッセージを処理しているように見え、エンドポイントはサーバーとして構成されます。キューに既にメッセージがある場合に NServiceBus のコンソール ウィンドウが表示されると、エンドポイントがパブリッシャーとして構成されていないことを示すエラー メッセージが表示されます。
NServiceBus 3.0.0 を使用しています。
ご意見ありがとうございます。
wcf - WCF サービスで NServiceBus インスタンスを開始しようとすると、null トランスポートが発生する
NServiceBus 3.3.3 を使用しています。コンテナーとして Ninject を使用しており、次のメソッドにバインドしてモジュール内のバスを初期化しています。
同じコードが別の (MVC4) プロジェクトで正常に動作しますが、私の WCF WAS サービスでは、のtransport
メンバーUnicastBus
が常に null であるため、824 行目が失敗するようtransport.MaxThroughputPerSecond = license.MaxThroughputPerSecond;
です。
オブジェクト参照がオブジェクト インスタンスに設定されていません。NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action startupAction) c:\TeamCity\buildAgent\work\nsb.master_2\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 824 at Access.Cloud.WebService .Modules.NServiceBusModule.CreateBus() in l:\Projects\aCloud\InsightIntegration\Access.Cloud.WebService\Modules\NServiceBusModule.cs:line 47 at Access.Cloud.WebService.Modules.NServiceBusModule.b__0(IContext context) in l :\Projects\aCloud\InsightIntegration\Access.Cloud.WebService\Modules\NServiceBusModule.cs: c:\Projects\Ninject\ninject\src\Ninject\ の Ninject.Activation.Provider'1.Create(IContext context) の 25 行目Activation\Provider.cs: c の Ninject.Activation.Context.Resolve() の 38 行目:
System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 ソース) で System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() で
私もデバッガーでそれをチェックしましたが、十分transport
にnullであることを確認してください。
私はそれが何か環境的なものだと推測していますが、トランスポートMsmqTransport()
は が呼び出されたときにセットアップされるいくつかのバインディングから来ているだけだと思います。モジュールをロードするコードを Ninject Web ブートストラップから Global.asax に移動しようとしましたが、違いはありませんでした。
ヘルプやガイダンスをいただければ幸いです。
nservicebus - 未処理の例外が原因で NServiceBus.Host.exe がクラッシュする
私たちはこれを数回見てきました。MSDTC にはある種の NHibernate の問題があると確信していますが、なぜ NserviceBus はホスト プロセスをクラッシュさせる代わりにエラー キューに例外を送信しないのですか? 3.2.6 と 3.3.3 の両方で例外を確認しました。
これは、午前 7 時 34 分にエンドポイントのアップグレードを行う前の 17 日にも発生しました。
ログ名: アプリケーション ソース: アプリケーション エラー 日付: 2012 年 12 月 17 日 7:34:20 AM イベント ID: 1000 タスク カテゴリ: (100) レベル: エラー キーワード: クラシック ユーザー: 該当なし コンピューター: 411357-SVCS01.daxko。 local 説明: 障害が発生しているアプリケーション名: NServiceBus.Host.exe、バージョン: 3.2.6.0、タイム スタンプ: 0x4ffd66f8 障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 6.1.7601.17651、タイム スタンプ: 0x4e21213c 例外コード: 0xe0434352 障害オフセット: 0x000000000000cacdプロセス ID: 0x2200 障害のあるアプリケーションの開始時刻: 0x01cddc556e2ef369 障害のあるアプリケーション パス: D:\store\endpoints\Production\OnlineRegistrationEndpoint\NServiceBus.Host.exe 障害のあるモジュール パス: C:\Windows\system32\KERNELBASE.dll レポート ID: 75b6c18c-484e -11e2-b05c-0050568e4fb1 イベント XML:1000 2 100 0x80000000000000 40360 Application 411357-SVCS01.daxko.local NServiceBus.Host.exe 3.2.6.0 4ffd66f8 KERNELBASE.dll 6.1.7601.17651 4e21213c e0434352 000000000000cacd 2200 01cddc556e2ef369 D:\store\endpoints\Production\OnlineRegistrationEndpoint\NServiceBus.Host.exe C :\Windows\system32\KERNELBASE.dll 75b6c18c-484e-11e2-b05c-0050568e4fb1
ログ名: アプリケーション ソース: .NET ランタイム 日付: 12/17/2012 7:34:18 AM イベント ID: 1026 タスク カテゴリ: なし レベル: エラー キーワード: クラシック ユーザー: 該当なし コンピューター: 411357-SVCS01.daxko.local説明: アプリケーション: NServiceBus.Host.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外のため、プロセスが終了しました。例外情報: System.InvalidOperationException スタック: NHibernate.AdoNet.ConnectionManager.Disconnect() で NHibernate.Impl.SessionImpl.Close() で NHibernate.Impl.SessionImpl.Dispose(Boolean) で NHibernate.Transaction.AdoNetWithDistrubtedTransactionFactory+<> c_DisplayClass1。 bSystem.Transactions.TransactionCompletedEventHandler.Invoke(System.Object, System.Transactions.TransactionEventArgs) の _0(System.Object, System.Transactions.TransactionEventArgs) System.Transactions.TransactionStatePromotedAborted.EnterState(System.Transactions.InternalTransaction) の System.Transactions .InternalTransaction.DistributedTransactionOutcome(System.Transactions.InternalTransaction, System.Transactions.TransactionStatus) で System.Transactions.Oletx.RealOletxTransaction.FireOutcome(System.Transactions.TransactionStatus) で System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(System.Transactions.TransactionStatus) ) System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(System.Object, Boolean) で System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.オブジェクト、ブール値)
イベント Xml: 1026 2 0 0x80000000000000 40359 アプリケーション 411357-SVCS01.daxko.local アプリケーション: NServiceBus.Host.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外のため、プロセスが終了しました。例外情報: System.InvalidOperationException スタック: NHibernate.AdoNet.ConnectionManager.Disconnect() で NHibernate.Impl.SessionImpl.Close() で NHibernate.Impl.SessionImpl.Dispose(Boolean) で NHibernate.Transaction.AdoNetWithDistrubtedTransactionFactory+<> c_DisplayClass1。 <EnlistInDistributedTransactionIfNeeded>bSystem.Transactions.TransactionCompletedEventHandler.Invoke(System.Object, System.Transactions.TransactionEventArgs) の _0(System.Object, System.Transactions.TransactionEventArgs) System.Transactions.TransactionStatePromotedAborted.EnterState(System.Transactions.InternalTransaction) の System.Transactions .InternalTransaction.DistributedTransactionOutcome(System.Transactions.InternalTransaction, System.Transactions.TransactionStatus) で System.Transactions.Oletx.RealOletxTransaction.FireOutcome(System.Transactions.TransactionStatus) で System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(System.Transactions.TransactionStatus) ) System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(System.Object, Boolean) で System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.オブジェクト、ブール値)