MQMessage への書き込み方法:複数の Write 呼び出し、それとも StringBuilder ですか?

StackOverflow https://stackoverflow.com/questions/761991

  •  11-09-2019
  •  | 
  •  

質問

私は WebSphere MQ を初めて使用します。IBM の .NET クラス (IBM.WMQ) を使用して、要求メッセージを送信し、応答メッセージを取得しています。MQMessage オブジェクトには、さまざまなデータ型に対応する多数の Writexxx メソッドがあります。さまざまなデータ要素をリクエスト メッセージに書き込む必要があります。私の質問は、個々のデータ要素ごとに適切な Write メソッドを呼び出す必要があるか、それとも StringBuilder で全体を構築してから MQMessage WriteString メソッドを 1 回呼び出す必要があるかということです。

役に立ちましたか?

解決

書き込み API は、より明確なコードを作成できるようにするためのものですが、WMQ API を .Net に変換した人は愚かです。

彼らは、オーバーロードを備えた「書き込み」関数の代わりに、20 の異なる API を作成しました。write 呼び出しには、いくつかの使用可能なオーバーロードがあります。

彼らは、MQC (MQ Constants) と呼ばれる、数千ではないにしても数百のオプションを持つ 1 つの列挙型を作成しました。楽しんでください。ただし、WMQ でのトランザクションには注意してください。その機能を使用するには、*多少のコストがかかります。

これで私の暴言は終わりました。ほとんどの API にはサイズの点で signed int の制限があり、write(byte[] array) 関数と writestring(string s) 関数のみがサイズの制限があることに注意してください。大きなメッセージ。また、.net API は、.net の実装に従ってすべての文字列を UTF-16 で書き込みます。これが影響する可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top