問題タブ [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.
.net - MSMQの使用-System.MessagingとWCF
VB 6.0アプリをVB.Net(Framework 3.5)に移植する必要があります。アプリケーションはMSMQを多用します。私は、優れたoleSystem.MessagingよりもWCFを使用することの利点を理解しようとしています。System.Messagingを使用する場合、潜在的なショートッパーはありますか?
.net - .Netユーザーメッセージングシステム
ユーザーにメッセージを送信するのに役立つ.NETのフレームワークがあるかどうか疑問に思っています。すべてのメッセージを単一のリポジトリに書き込めるようにしたいと思います。次に、ユーザーが設定した設定に基づいて、これらのメッセージをユーザーに送信できるようにしたいと思います。たとえば、通知Aを電子メールとテキストメッセージでユーザーAに送信し、通知BをSMSとIMでユーザーBに送信できるようにしたいと考えています。このようなものが存在するかどうか、またはそれを書く必要があるかどうかについて何か考えはありますか?
.net - MessageQueue.Send が InvalidOperationException、BadEnumerator で失敗することがある
1 つのプロセスにレシーバーを持つ非 tx キューと、MessageQueue.Send( object, label ) メソッドを使用してメッセージをキューに入れる PowerShell スクリプトがあります。ときどき、PowerShell スクリプト (送信側) で次の奇妙なエラーが発生します。
MessageEnumerator が送信部分にどのように関与するのか理解できませんか? 手がかりはありますか?
受信側 (MSMQ と対話するために System.Messaging も使用する .net で記述されたサービス) は、queue.Peek( 1s timeout ) を実行してから queue.Receive() を呼び出す while ループで作業を行っています。すべての MSMQ 例外は受信者によってログに記録されますが、ログは空です。すべてのエラーは、送信側の PowerShell スクリプトで発生します。
レシーバーは動作することがわかっている古いコードですが、スクリプトは新しく、テストされていません。テスト中に、受信機が接続されていないテスト マシンでエラーは発生しませんでした。
受信機を接続した最初のショットでは、MessageQueue.Send() の呼び出しの一部でエラーが発生しました。
そのスクリプトは次のようになります。
問題が解放されていない共有リソースなどに関連している場合は、各反復でキュー インスタンスを破棄しようとしました。
そのスクリプトは次のようになります。
エラーは引き続き発生しますが、発生頻度は低くなると思います。
デフォルトのコンストラクターを使用してキュー インスタンスを作成し、DefaultPropertiesToSend などのカスタマイズは行いません。メッセージは XML シリアライズ可能なオブジェクトで、約 300 バイトのメッセージ本文を生成します。キュー、センダー、レシーバーは同じマシン上にあります。
.net - System.Messaging.MessageQueue と MSMQ COM API の相互作用
Apress のPro MSMQでは、p. 26 では、同じサービス タイプ GUID でグループ化されたキューに、「物理的な場所を知る必要なく、ディレクトリ サービスを使用してクライアント アプリケーションからアクセスできます。これは、クラスタリングに適したメカニズムです。」
ホワイト ペーパーは、.NET MessaginQueueing API が COM API よりも高速であることを示しています。しかし、.NET クラスには明らかに COM API の検索機能がありません。サーバーからの GUID 割り当てに COM オブジェクトを使用したり、クライアントからのクラスタリング目的でメッセージ キューを検索したりできますが、メッセージの送信や読み取りなど、他のことを行うときは .NET オブジェクトに切り替えることはできますか?
.net - MSMQ ReceiveByCorrelationID
クライアントと通信するコアシステムと、MSMQを介して非同期する他の内部システムがあります。クライアントはSMSを送信する携帯電話であり、他のシステムにはMQアダプターがあるため、これは最適です。また、これらの通信プロセスはデフォルトで非同期です。
現在、同期通信スタイルをデフォルトにする必要がある他のシステムをサポートする必要があります。この典型的な例は、HTTPを介したrpcスタイルの要求/応答通信をサポートするハンドヘルドデバイスです。
これらのクライアントから受信したメッセージをcorrelationIdを使用してインバウンドキューにプッシュし、アウトバウンドキューで同じcorrelationIdを使用するメッセージを探すHTTP「プロキシ」/エンドポイントを追加することで、これをサポートするソリューションの提案があります。うまくいけば、メッセージの処理が完了し、予想されるcorrelationIdを持つメッセージがアウトバウンドキューに存在します。これは、要求応答を模倣するためにメッセージをコアシステムにプッシュしたのと同じスレッドで発生します。
ただし、correlationId(MessageQueue.ReceiveByCorrelationId)でメッセージを受信すると、パフォーマンスが低下することがわかります。システムの速度を実際に遅くするのに、多くのクライアントスレッドは必要ありません。
問題は、receivebycorrelationidアプローチを使用して同期要求/応答を模倣する提案された設計がここでの問題であると推測します。現在のアーキテクチャでは、アウトバウンドキューはリモートホストに存在し、これを読み取って、それが問題であるかどうかを確認しています。
これを解決するための他のアプローチはありますか?論理的な意味は、アウトバウンドキューからデータベースまたは単一の受信プロセスからの何かにメッセージを詰め込み、対応するcorrelationIdを持つメッセージを検索することだと思います。
c# - msmqメッセージをサブキューに移動する方法
クラスを使用してSystem.Messaging
、msmqメッセージ(この場合はポイズンメッセージ)をサブキューに移動するにはどうすればよいですか?
このように単純なはずですが、私はそれを理解することができませんでした。
msmq - MSMQ: リモート プライベート キューのメッセージ数を取得することはできますか?
これについては他にも質問があることは知っていますが、実際にはこの質問には答えていません。
私が持っているコードは次のとおりです。
ローカル キューでGetAllMessages()を試すと、もちろんすべてが機能します。
ただし、コンピューター名だけで正常に ping できる同じドメインのリモート マシンでキューを試すと、次のエラーが発生します。
私はもう試した:
それらはすべて私に同じエラーを与えます。
Web のドキュメントには、完全な「パス」を知っていれば、プライベート キューを見つけることができると記載されています。
これは本当ですか?もしそうなら、どのようにフルパスをコンパイルしますか??
乾杯
wcf - serviceContractでSystem.Messaging.Messageを返すことは可能ですか?
Hej、私はWCFサービスでhttpBinding / netTcpBindingを使用していますが、いくつかの.NetリモーティングコードをWCFに置き換えようとしています。これは、.NetリモーティングのメソッドをWCFサービス契約に変換するときの最初のテストでした。私は自分のメソッドを文字通り翻訳しました。古いコードは戻り型としてSystem.Messaging.Messageを使用しています。
私のサービス契約:
すべてがビルドされ、サービスがアップしますが、サービスにアクセスすると、次のエラーが発生します。
System.InvalidOperationException:WSDLエクスポート拡張機能の呼び出しで例外がスローされました:System.ServiceModel.Description.DataContractSerializerOperationBehaviorコントラクト:http://..../ ServiceContracts / 2012 / V1:IReaderContract ----> System.Runtime .Serialization.InvalidDataContractException:タイプ'System.Messaging.MessageQueue'はシリアル化できません。
System.Messaging.Messageを返す方法はありますか?
どうもありがとうございます。
敬具。
ジョナサン
powershell - MSMQ プライベート キューの現在のアクセス許可を取得する方法は?
PowerShell で MSMQ プライベート キューからユーザー\グループ アクセス許可を読み取る方法を知っている人はいますか? サービスをインストールする前に、NServiceBus サービスをインストールするデプロイメント スクリプトのサニティ チェックとして、サービス ユーザーが適切なキューへの読み取りアクセス権を実際に持っていることを確認したいと考えています。
System.Messaging.MessageQueue クラスのドキュメントから、キューのアクセス許可を設定するメソッドはたくさんあるようですが、アクセス許可を取得するメソッドはありません。
どんな助けでも大歓迎です!
-ジェイク