問題タブ [msmq-wcf]

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 投票する
0 に答える
198 参照

c# - MSMQ バインディングでの WCF の使用: MSMQ の 4MB メッセージ制限を超える SOAP メッセージを処理するにはどうすればよいですか?

MSMQ キューを使用して (WCF の netMsmqBinding を使用して) WCF サービスを呼び出す必要がある統合シナリオがあります。

私の理解が正しければ、MSMQ のメッセージ サイズは 4 MB に制限されています。

私の質問は次のとおりです。WCF/MSMQ ビットは、この制限を超える SOAP メッセージをどのように処理しますか? たとえば、大きな SOAP 応答本文を分割する機能はありますか?

MSMQ メッセージ サイズの制限についてのみ質問しているわけではないことに注意してください。他の回答や MSMQ ドキュメントから判断すると、制限は 4 MB のようです。WCF MSMQ バインディングがこの制限をどうにか回避して機能するのだろうか。

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

c# - .NET アプリケーションのボタン クリックは、キュー (msmq) から処理を開始するように外部サービスに指示する必要があります。

ユーザーが操作するasp.net Webフォームアプリケーションがあります。ユーザーがサイトから特定のアイテムを選択し、処理のためにボタンをクリックしたとき。webapp は、ユーザーが選択した項目ごとに msmq にメッセージを追加します。

私が理解しようとしている部分:

ジョブがキュー (msmq) を処理する場合、2 番目のアプリケーションはどのタイプのアプリケーションにする必要がありますか。重要なのは、この 2 番目のアプリケーションは、asp.net webapp が [プロセス] ボタンがクリックされたことを通知するまでアイドル状態にしておく必要があるということです。その後、先に進み、キューをチェックして処理します。コマンドでのみキューをチェックするだけで、1分ごとにキューを常にチェックしたくありません。

Windows サービス、Web サービス、Web API? 現在、30 秒ごとにキューをチェックする Windows サービスがあります。常にチェックするのではなく、オンデマンドで動作させるにはどうすればよいですか?

ここでは、わずかに異なる言い方をしています。

  1. ユーザーは .NET アプリケーションでアイテムを選択し、[プロセス] をクリックします。

  2. .Net アプリケーションは、処理が必要なアイテムをキュー (msmq) に追加します。

  3. 追加のアプリケーションは、プロセス ボタンがクリックされ、キューの処理を開始する必要があることを .NET アプリケーションから通知されます。キューが処理されると、追加のアプリケーションはある種のアイドル モードに戻る必要があります。

ここで最も重要なことは、キューに項目があるかどうかを毎分チェックするタイマーを使用したくないということです。これにより、24 時間年中無休で実行されているリソースが消費されます。

msmq の特定の機能に慣れていない可能性があります。msmq がキューでメッセージを受信したことをサービスに伝え、先に進んでそれらを処理する方法はありますか。私の .net アプリケーションがサービスと通信するのではなく?

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

c# - MSMQ メッセージ マルチキャスト: 別のマシンでメッセージを受信できません

MSMQ マルチキャスト機能を使用してパブリッシャーおよびサブスクライバー モデルを作成したいと考えています。リンクの回答をたどりましたが、成功し ませんでしたMSMQ - マルチキャスト キューから メッセージを受信できません ローカル マシンで送受信されるメッセージ。

送信者:

レシーバー:

イベント ログに IP が表示されているマルチキャスト バインドのレジストリにキーを追加しました (これについてはわかりません)。キューで指定する MulticastAddress は、特定のものですか、それとも指定された範囲内の任意のものを使用できますか?

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

msmq - MSMQ サービスの利用方法

msmq サービスを利用したい。しかし、メッセージをキューに送信できません。これが私のコードです。

msmQ.Send(msg) でエラーが発生します

エラー メッセージ ="長さを 0 未満にすることはできません。パラメータ名: 長さ"

以下のものは私のm / cにインストールされています

  1. Microsoft メッセージ キュー (MSMQ) サーバー
  2. ウィンドウのアクティブ化プロセス

また、私が試したとき

しかし、「パス構文が無効です」と表示されます

私はそれに何も得ることができません。私が持っているのは、msmq URL「net.msmq://myServerName/private/MyQueueName」だけです

このような URL を使用してメッセージを「MyQueueName」に送信する方法を教えてください。

どんな助けでも大歓迎です

ありがとうございます。

0 投票する
0 に答える
803 参照

c#-4.0 - 最大数 SmtpClient の同時接続数を超えました

私はシナリオを持っています.MSMQキューイングシステム...レコードはタイムリーにキューに入れられます...キューをリッスンするWCFリスナーは、レコードがキューに入れられるとすぐにレコードの処理を開始します...何らかの処理を行い、その後、電子メールを送信します (10 個のキューと 10 個のリスナーがあり、そのうち 3 個のリスナーが電子メールの送信を担当します)。私が直面している問題は、メール送信部分です。大きなデータがキューに入れられ、一部のレコードで次のエラーが発生します

メールを送るクラスは

私のメソッドでさえ静的であり、smtpオブジェクトがインスタンス化されるたびに問題が発生すると思います。同時接続を増やしても問題は解決しません。いくつかの回避策がありますが、これについてもう少し説明が必要でした。

  1. 番号を制限します。つまり、100 のレコードがキューに入れられていて、リスナーがそれらのレコードを並行して処理し始めても、smtp プロセスは一度に 100 を超える接続を使用せず、完了するまで待ってから次の 100 を使用します。等々。しかし、これを行う方法がわかりません。
  2. 並列 foreach ループまたは SmtpClient.SendAsync メソッドを使用しますが、ここでもこれらのメソッドに関する習熟度は高くないため、少し恐れています (パフォーマンスに大きな影響がないことを確認する必要があります)。したがって、これを解決するための安定したより良いアプローチが必要でした。
0 投票する
1 に答える
1066 参照

wcf - msmq の OUTGOING QUEUES からメッセージを削除する

送信キューからメッセージを削除することはできますか? 削除するオプションが表示されません。これらのメッセージを削除するには? msmq は初めてです。自分のコンピューターから他のコンピューターにメッセージを送信しようとしています。すべてのメッセージが「LOCKED」ステータスで送信キューに置かれています。ロックされている理由がわからず、OUTGOING QUEUE 内のこれらのメッセージをすべて削除したいと考えています。