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 沙盒解决方案.

上次修改时间: 2011年4月18日

适用范围: 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 沙盒解决方案.

请参阅

任务

How to: Create a Full-Trust Proxy Operation

Walkthrough: Creating and Calling a Full-Trust Proxy Operation

其他资源

Sandboxed Solutions Resource Center | SharePoint 2010

SharePoint Developer Team Blog

SharePoint Developer Center