この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

@RemoteAction メソッドの範囲と表示

Apex @RemoteAction メソッドは static で、かつ global または public のいずれかである必要があります。
グローバルに公開されたリモートアクションで、機密情報の操作を実行したり、非公開のデータを公開したりしないでください。global リモートアクションは他の global メソッドのみをコールできます。公開されたリモートアクションは、global コンポーネントや global 範囲では使用できません。範囲のエスカレーションはコンパイルエラーになります。または、実行時に解決される参照の場合は、実行時エラーになります。次の表に、この制限を示します。
@RemoteAction の範囲 Visualforce Page 非グローバルコンポーネント グローバルコンポーネント iframe パッケージ間のアクセス
グローバルリモートメソッド 使用可能 使用可能 使用可能 使用可能 使用可能
公開リモートメソッド 使用可能 使用可能 エラー エラー 各パッケージは、名前空間を共有する必要があります。メソッドには、@namespaceAccessible アノテーションが必要です。

@RemoteAction メソッドが、管理パッケージ内にあり、Visualforce Remoting によって使用されるとき、ユーザプロファイルまたは権限セットのアクセス権で使用される場合には、このメソッドにグローバル可視性が与えられる必要があります。

メモ

リモートアクションがマークアップを介してアクセスされる場合、リモートアクションはコンポーネント、<apex:include><apex:composition> タグによって間接的に組み込まれます。リモートメソッドの範囲は最上位コンテナ (包含階層内の最上位項目) に継承されます。この最上位コンテナは、範囲のエスカレーションルールに準拠する必要があります。
最上位コンテナ
@RemoteAction のアクセス元 Visualforce Page 非グローバルコンポーネント グローバルコンポーネント iframe
グローバルコンポーネント 使用可能 使用可能 使用可能 使用可能
非グローバルコンポーネント 使用可能 使用可能 非グローバルコンポーネントが公開リモートメソッドを含まない場合にのみ使用可能。 非グローバルコンポーネントが公開リモートメソッドを含まない場合にのみ使用可能。
<apex:include> <apex:composition> 同じ名前空間内では使用可能。名前空間が異なる場合および含まれるページまたはその子階層に公開リモートメソッドが含まれる場合はエラー。 なし なし エラー