0

私は MSMQ を初めて使用します。多くの c# アプリケーション (.exe) がポートでデータ パケットを送信している状況があります。データ パケットをポートに送信できます。ポートから自動的に読み取り、これらのデータ パケットを MSMQ にポストするように MSMQ を構成する方法を教えてください。これらのデータ パケットを失うわけにはいかないので、データの損失はまったく受け入れられません。これを効率的に行うにはどうすればよいでしょうか。ポート 1801 からのデータ パケットを受け入れるように MSMQ を構成できますか。これらのアプリケーションを異なるポートに書き込んだ場合、それはより良いでしょうか? 彼らが1つのポートに書き込んだ場合、これらのメッセージをどのようにしてデータ損失なしで直接MSMQに送信できますか. キューをトランザクション対応にする必要があります。到着したデータ パケットを使用したくありません。

助けてください 。このタスクを実行できるサンプル コードは非常に役立ちます。

アプリケーションは C# .NET で書かれていることに注意してください。データの損失とパフォーマンスの低下が問題となっており、MSMQ を使用して解決しようとしています。MSMQ でこれらのアプリケーションからのすべてのデータ パケットを確認する必要があります。

ありがとう

4

2 に答える 2

0

どうすればこれを効率的に行うことができますか。ポート1801からのデータパケットを受け入れるようにMSMQを構成できますか?これらのアプリケーションを別のポートに書き込んだ場合、それはより良いでしょうか?

1801はすでにMSMQTCPパケットのデフォルトポートです。MSDNの記事「メッセージキューで使用されるTCPポート、UDPポート、およびRPCポート」を参照してください。

ポート番号が本当に重要な場合addressは、サービス構成の一部で特定のポートをリッスンするようにWCFサービスを構成できます。

MSMQを使用する場合、ファイアウォールを介した複数のネットワーク間の通信を構成する場合を除いて、通常は特別なポートを処理する必要はありません(MSDNの記事:MSMQアクセス用にファイアウォールを構成する方法)。

可能であれば、デフォルト値を使用することをお勧めします。

これらのメッセージをデータ損失なしでMSMQに直接送信するにはどうすればよいですか。キューをトランザクション型にする必要があります。

トランザクションキューを使用する場合は、データの損失からメッセージを自動的に保護します。これについては、WCFでのキューイング、およびMSMQと.NETを使用した信頼性の高いメッセージングで詳しく説明します。

データの損失とパフォーマンスの低下が問題となっており、MSMQを使用してそれらを解決しようとしています。これらのアプリケーションからのすべてのデータパケットをMSMQで確認する必要があります。

MSMQ自体は高速で軽量ですが、他のすべてのツールと同様に、MSMQをどのように使用するかによって異なります。大きなデータパケットの送信を開始すると、MSMQも問題が発生する可能性があります。MSMQには、メッセージサイズなど、いくつかの制限があることに注意してください。

WCFとMSMQの組み合わせを開始するための記事/チュートリアルは次のとおりです。

于 2012-08-14T09:55:17.300 に答える
0

ポートから自動的に読み取るように MSMQ を構成する方法

コードを書く準備ができていない限り、これは不可能だと思います。したがって、自分用のコードが少しでも構わないと仮定して、System.Messaging.Messageクラスを確認してください。Body プロパティを使用すると、バイト配列で送信できます。

したがって、ポートからある種のバイト配列に読み込んでいる場合、それをメッセージに入れるのは面倒です。

于 2012-08-13T14:01:32.260 に答える