JavaScript Remoting の制限および考慮事項
JavaScript Remoting はリソース制限の対象ではありませんが、他の制限があります。
JavaScript Remoting は、Salesforce のサービス制限を回避できません。JavaScript Remoting コールには、API 制限は適用されませんが、JavaScript Remoting を使用する Visualforce ページには、すべての標準 Visualforce の制限が適用されます。
デフォルトでは、リモートコールの応答は、30 秒以内に返される必要があります。これを超えると、コールはタイムアウトになります。要求の完了にこれ以上の時間がかかる場合は、120 秒以内で、より長いタイムアウトを設定します。
要求の最大サイズは、ヘッダーを含み 4 MB です。
リモートコールの応答の最大サイズは 15 MB です。JavaScript Remoting コードがこの制限を超える場合は、次のように対応できます。
- 各要求の応答サイズを削減する。必要なデータのみを返します。
- 大量データの取得を、小さなチャンクを返す複数の要求に分割する。
- バッチサイズを小さくするには、バッチ要求の頻度を高くする。
- バッチ以外の要求を使用する。Remoting 要求の設定ブロックで { buffer: false } と設定します。
Salesforce は、一部の JavaScript Remoting コールのエラーメッセージをログに記録します。個人情報がログに記録されないようにするには、顧客データをエラーメッセージに含めないようにします。代わりに、例外をキャッチして完全なメッセージをログに記録します。その後、わかりやすいメッセージを Visualforce ページに返します。
Visualforce Remoting 要求が実行されると、[セッションの設定] ページの組織全体のタイムアウト値を使用して、アクセスタイムアウト値が作成されます。タイムアウトは、それ以降の要求では更新されません。タイムアウトが適していない場合は、ユーザプロファイルのアクセス権または権限セットのアクセス権を使用できます。