Sandboxed Solutions in Partnership with Full-Trust Proxies in SharePoint 2010
This topic explains proxies that can be called by a サンドボックス ソリューション to execute an action that is ordinarily not available to サンドボックス ソリューション.
適用対象: SharePoint Foundation 2010
Microsoft SharePoint Foundation provides several ways that サンドボックス ソリューション can escape the usual restrictions on what they can do and what they can access. One of these techniques is to create a special kind of operation that runs in a full trust process, but that can be called from a サンドボックス ソリューション. The operation is deployed as a ファーム ソリューション by a farm administrator who trusts it and is prepared to let サンドボックス ソリューション call it. These operations are called full-trust proxy operations.
Because the assembly with the full-trust proxy operation must be deployed by a farm administrator as a ファーム ソリューション, this technique cannot be used when farm deployment is not an option, such as when your solution is to be deployed to Microsoft SharePoint Online. In such scenarios, you can use other techniques to escape the sandbox restrictions, such as using client object model code to access resources that are not otherwise available to サンドボックス ソリューション.
Full-Trust Proxy Operation and Sandboxed Solution Development and Deployment Scenarios
The proxy operation technique requires that a ファーム ソリューション be developed that includes one or more classes that derive from SPProxyOperation. Each of these defines an operation that runs in full trust, and that you can call from サンドボックス ソリューション by using the ExecuteRegisteredProxyOperation method. For detailed information about creating and deploying a full-trust proxy operation and calling it from a サンドボックス ソリューション, see How to: Create a Full-Trust Proxy Operation.
Although the assembly with the full-trust proxy operation runs in full trust, it does not run in the main w3wp.exe process that is handling the HTTP request. Instead, it runs in the SPUCWorkerProcessProxy.exe process that is described in サンドボックス制限の回避. The proxy operations can return data to the サンドボックス ソリューション.
Figure 1 shows how a request that accesses a サンドボックス ソリューション is processed when the サンドボックス ソリューション makes a call to a full-trust proxy operation.
Figure 1. Request processing model when a sandboxed solution calls a full-trust proxy operation
Although you can develop a full-trust proxy operation and a サンドボックス ソリューション as a pair of projects designed to work with one another, this would not be the typical scenario. If the farm administrator trusts your code enough to deploy the proxy as a ファーム ソリューション, you might equally well make the whole project a ファーム ソリューション. More frequently, a full-trust proxy operation is developed to provide a service to multiple サンドボックス ソリューション.