Sandboxed Solutions in Partnership with Full-Trust Proxies in SharePoint 2010

This topic explains proxies that can be called by a solution en bac à sable (sandbox) to execute an action that is ordinarily not available to solutions en bac à sable (sandbox).

Dernière modification : lundi 18 avril 2011

S’applique à : SharePoint Foundation 2010

Microsoft SharePoint Foundation provides several ways that solutions en bac à sable (sandbox) 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 solution en bac à sable (sandbox). The operation is deployed as a solution de batterie de serveurs by a farm administrator who trusts it and is prepared to let solutions en bac à sable (sandbox) call it. These operations are called full-trust proxy operations.

Notes

Because the assembly with the full-trust proxy operation must be deployed by a farm administrator as a solution de batterie de serveurs, 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 solutions en bac à sable (sandbox).

Full-Trust Proxy Operation and Sandboxed Solution Development and Deployment Scenarios

The proxy operation technique requires that a solution de batterie de serveurs 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 solutions en bac à sable (sandbox) by using the ExecuteRegisteredProxyOperation method. For detailed information about creating and deploying a full-trust proxy operation and calling it from a solution en bac à sable (sandbox), 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 Contournement des restrictions imposées aux solutions en bac à sable (sandbox). The proxy operations can return data to the solution en bac à sable (sandbox).

Figure 1 shows how a request that accesses a solution en bac à sable (sandbox) is processed when the solution en bac à sable (sandbox) makes a call to a full-trust proxy operation.

Figure 1. Request processing model when a sandboxed solution calls a full-trust proxy operation

Modèle de processus sandbox et proxy de confiance totale

Although you can develop a full-trust proxy operation and a solution en bac à sable (sandbox) 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 solution de batterie de serveurs, you might equally well make the whole project a solution de batterie de serveurs. More frequently, a full-trust proxy operation is developed to provide a service to multiple solutions en bac à sable (sandbox).

Voir aussi

Tâches

How to: Create a Full-Trust Proxy Operation

Walkthrough: Creating and Calling a Full-Trust Proxy Operation

Autres ressources

Sandboxed Solutions Resource Center | SharePoint 2010

SharePoint Developer Team Blog

SharePoint Developer Center