Newer Version Available
非同期コールアウトの制限
継続固有の制限
Apex と Visualforce には、次の継続固有の制限があります。
1 自動生成された Web サービススタブおよび HttpRequest オブジェクトに指定されたタイムアウト値は無視されます。継続にはこのタイムアウト制限のみが適用されます。
2 継続が実行されるとき、Visualforce コントローラはシリアライズされます。継続が完了すると、コントローラはデシリアライズされ、コールバックが呼び出されます。シリアライズしない変数を指定するには、Apex transient 修飾子を使用します。このフレームワークでは、再開したときにシリアライズされているメンバーのみを使用します。コントローラステートサイズ制限は、ビューステート制限とは分けられています。「継続コントローラステートと Visualforce ビューステートとの違い」を参照してください。
3 これは、Content-Type ヘッダー content-type='application/x-www-form-urlencoded' および content-type='multipart/form-data' を持つ HTTP POST フォーム用の制限です。
継続コントローラステートと Visualforce ビューステートとの違い
コントローラステートとビューステートは異なります。継続のコントローラステートは、継続を呼び出すコントローラに限らず、要求で呼び出されるすべてのコントローラのシリアライゼーションで構成されます。シリアライズされたコントローラには、コントローラ拡張、カスタムおよび内部コンポーネントコントローラが含まれます。コントローラステートサイズは、デバッグログに USER_DEBUG イベントとして記録されます。
ビューステートには、コントローラステートよりも多くのデータが保持され、大きなサイズ制限 (170KB) が適用されます。ビューステートには、ステートおよびコンポーネント構造が含まれます。ステートは、すべてのコントローラとページ上の各コンポーネントのすべての属性 (サブページとサブコンポーネントを含む) のシリアライゼーションです。コンポーネント構造は、ページ内のコンポーネントの親-子リレーションです。ビューステートサイズは開発者コンソール、または開発モードが有効な場合は Visualforce ページのフッターで監視できます。詳細は、Salesforce ヘルプの「[View State (ビューステート)] タブ」、または『Visualforce 開発者ガイド』を参照してください。