クライアントスタブを使用する場合は,入出力パラメタやカスタムレコードクラスと,入出力メッセージの間の変換をClient .NETが行います。ただし,送受信するユーザメッセージがRPCメッセージの最大長を超えないようにするためには,入力メッセージ長および応答メッセージ長の値を見積もっておく必要があります。
次に示す計算式を用いて,入力および出力で使用するデータ型ごとの合計値を計算してください。
計算式に代入する値を,次の表に示します。
表4-8 計算式に代入する値(サービス定義)
データ型定義のメンバのデータ型 | メッセージ上のサイズ(単位:バイト) |
---|---|
char | 1 |
short | 2 |
int | 4 |
long | 4 |
char[a][b] | a×b |
short[a] | 2×a |
byte[a] | 1×a |
struct | 構造体の各メンバのサイズの合計 |
struct[a] | 構造体の各メンバのサイズの合計×a |
カスタムレコードクラスのソースコードのprivate constフィールド_lengthを参照して,計算後のメッセージ上のサイズが確認できます。
Client .NETのトラブルシュート機能であるデータトレースを使用して,実際に送受信されたメッセージ長を確認できます。データトレースの詳細については,「2.9.3 データトレース」を参照してください。