問題タブ [system.messaging]

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 に答える
504 参照

vb.net - system.messaging キューがフリーズしている間、message.receive

このメッセージング ライブラリを使用したのはこれが初めてで、サンプル コードを使用して実装しました。初めて実行したときは完全に機能しましたが、解析方法が間違っているように思われたため、突然コードを停止しました。そのため、再起動すると、コードは次の行でフリーズします。

メッセージキューが破損した可能性はありますか? サーバーマネージャーを確認したところ、以前と同じようにキューがまだ存在し、メッセージ数 = 1 のようです。これが私のコードの残りの部分です:

編集:

キューの作成方法:

そしてそれがどのように使用されるか:

それがトランザクションであるかどうかを確認しました。

そうではありません。

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

c# - Windows メッセージキューですべてのメッセージを取得中に散発的なエラーが発生しました

Windows Server 2003 で実行されている C# ASP.NET 3.5 Web アプリケーションで、次のエラーが発生することがあります。

このエラーをスローするコード行は次のとおりです。

ここでGlobal.getOutputQueue(mode)、メッセージを取得したいメッセージキューを指定します。

アップデート:

p>

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

system.messaging - 指定された形式名は、要求された操作をサポートしていません。たとえば、ダイレクト キュー形式名は削除できません

Message オブジェクトを使用してメッセージをキューに送信しようとしていますが、エラーが発生しています

指定された形式名は、要求された操作をサポートしていません。たとえば、ダイレクト キュー形式名は削除できません。

これがコードです。

これに関する任意の助けをいただければ幸いです。

トム

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

.net - MessageEnumerator RemoveCurrent を使用すると、キューの最後にいるかどうかをどのように知ることができますか?

.NET 上の MSMQ では、MessageEnumerator を使用して、キュー内のすべてのメッセージを調べています。特定の条件を満たすメッセージを削除したい。

MoveNext を呼び出してキューをステップスルーすると、現在のメッセージが存在するかどうかを示すブール値が返されます。しかし、RemoveCurrent を実行すると、削除後の現在のメッセージが存在するかどうかをどのように知ることができますか? Current をチェックして例外を処理する唯一の方法はありますか?

これは、1 年以上経過したメッセージを削除するという単純な条件を使用する例です。キューが別の場所で作成され、MessageReadPropertyFilter.ArrivedTime = true で設定されたとします。

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

c# - MSMQ キューの監視

プライベート MSMQ キューに書き込むアプリケーションがあります。キューを監視して、アプリケーションが正常に動作しているかどうかを監視したい。通常は、パフォーマンス カウンターを使用してキューにあるメッセージの数を確認できますが、非常に積極的なキュー リーダーがあります。監視プログラムがキュー内のメッセージを確認することに依存している場合、メッセージは監視アプリケーションが確認する前に既に読み取られているため、何も確認できない可能性が高くなります。つまり、次のタイムラインが心配です。

上記のように、キューにはアクティビティ (書き込みと読み取り) がありますが、監視中のアクティビティはまったくありません。

過去 1 分または 1 時間に通過したキュー アイテムの数を確認する方法はありますか? または、キューを監視できる他のものはありますか?

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

msmq - MSMQ メッセージがリモート サーバーに到達すると消える

SenderServer (MS Server 2012) とReceiverServer (MS Server 2008 R2)という同じドメイン内の 2 つのサーバー間にMSMQメッセージング メカニズムを作成する必要があります。

ReceiverServer にプライベートなトランザクション キューを作成し、.\private$\receiverシステムと管理者にメッセージの受信 (およびピーク) 権限を与えました。

次に、次のコードを使用して、メッセージを作成してキューに転送するクライアント アプリケーションを作成しました。

アプリケーションを展開する前に、自分のマシン (Windows 7) で、 と を使用して発信キューを正しく作成することをテストしましDirect=OS:ReceiverServer\private$\receiverた。メッセージは正しくReceiverServerに送信され、キューに入れられます。各メッセージのReceiverServerは、次の 2 つのイベントをログに記録します。State:ConnectedConnection History:Connection is ready to transfer messages\private$\receiverEnd2End log

  1. メッセージがネットワーク経由で送信されました (EventId: 4)
  2. のメッセージID CN=msmq, CN=[mymachinename], CN=Computers, DC=[domain], DC=[other]がキューに入れられましたReceiverServer\private$\receiver(EventId: 1)

次に、同じコードを使用してSenderServer内からクライアント アプリケーションを使用しました。サーバーはとを使用して送信キューDirect=OS:ReceiverServer\private$\receiverを正しく作成します。メッセージがキューに入れられて送信されるのを確認できますが、リモートのReceiverServerキューでメッセージを受信しません。ReceiverServerのEnd2End イベント ログを確認すると、最初のメッセージ (メッセージがネットワーク経由で送信された (EventId: 4)) だけが表示されますが、メッセージはキューに配置されません。State:ConnectedConnection History:Connection is ready to transfer messages.\private$\receiver

両方のマシンからファイアウォールをオフにし、キューの承認設定を変更し、キューに対して次のエンドポイントを試しました。

  • FormatName:Direct=OS:[IPv6 address]\private$\receiver
  • FormatName:Direct=TCP:ReceiverServer\private$\receiver
  • FormatName:Direct=TCP:[IPv6 address]\private$\receiver

運がない。マイクロソフトのトラブルシューティング プロセスとドキュメントは非常に一般的で単純化されているため、ここで質問することにしました。

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

.net - キューが存在しないか、操作を実行するための十分な権限がありません。MSMQ 経由でメッセージを送信中の例外

MSMQ 経由でメッセージを送信する関数を作成しましたが、実行中に例外が発生しました。以下は私の機能です。

例外:- キューが存在しないか、操作を実行するための十分な権限がありません。

また、[コンピュータの管理] の [メッセージング キュー] の [セキュリティ] タブを開くことができません。添付のスクリーンショットを参照してください。 ここに画像の説明を入力

手動でプライベートの下にメッセージキューを作成しようとしましたが、システムで許可されました。下記参照 ここに画像の説明を入力

以下は mmc スパンです。 ここに画像の説明を入力