4.2.3 クライアントスタブ使用時のデータ長の計算方法
クライアントスタブを使用する場合は,入出力パラメタやカスタムレコードクラスと,入出力メッセージの間の変換をClient .NETが行います。ただし,送受信するユーザメッセージがRPCメッセージの最大長を超えないようにするためには,入力メッセージ長および応答メッセージ長の値を見積もっておく必要があります。
- 〈この項の構成〉
(1) データ型ごとの合計値を計算する
次に示す計算式を用いて,入力および出力で使用するデータ型ごとの合計値を計算してください。
入力メッセージ長=メソッドの入力パラメタおよび参照パラメタの最大データ長の合計+512
応答メッセージ長=メソッドの出力パラメタ,参照パラメタ,および戻り値の最大データ長の合計+512
計算式に代入する値を,次の表に示します。
|
パラメタのデータ型 |
メッセージ上のサイズの最大値(単位:バイト) |
|---|---|
|
System.Byte |
1 |
|
System.Int16 |
3 |
|
System.Int32 |
7 |
|
System.Int64 |
15 |
|
System.String |
格納された文字数×2+13 |
|
System.Byte[] |
a+11 |
|
System.Int16[] |
2×a+11 |
|
System.Int32[] |
4×a+11 |
|
System.Int64[] |
8×a+11 |
|
System.String[] |
Σ(格納された文字数×2+13)+11 |
|
TP1ユーザ構造体 |
各メンバの最大長の合計+4 |
|
TP1ユーザ構造体配列 |
Σ(各メンバの最大長の合計+4)+11 |
- (凡例)
-
a:配列の要素数
- 注
-
スタブによって自動的に調整されるサイズを含みます。
(2) データトレースを使用する
Client .NETのトラブルシュート機能であるデータトレースを使用して,実際に送受信されたメッセージ長を確認できます。データトレースの詳細については,「2.9.3 データトレース」を参照してください。