常见的沙盒解决方案是用户上载自己的 Web 部件。

Microsoft SharePoint 2010 利用功能组合、解决方案库、解决方案监控和验证框架来启用沙盒解决方案。

 

指定项目信任级别

“SharePoint 自定义向导”中创建项目时指定此属性。

“部署为沙盒解决方案”选项,则解决方案将不被视为场解决方案。

 

SharePoint 网站层次结构

顶部元素称作 Web 场,其他元素从属于顶部元素:

Web 场

    Web 应用程序 A

        网站集 A1

            网站 A1a

    Web 应用程序 B

        网站集 B1

            网站 B1a

            网站 B1b

        网站集 B2

            网站 B2a

不过,在 Web 场级别所做的更改会影响该场中的所有网站集。

Windows SharePoint Services (WSS) 3.0 只允许您将解决方案部署到场级别,而 Microsoft SharePoint Foundation 2010 允许您将解决方案部署到场级别(场解决方案)或网站集级别(沙盒解决方案)。

 

为什么使用沙盒解决方案?

此进程将会受到监控,并实现配额和调节以防止场中出现执行有害活动(例如运行消耗 CPU 周期的紧凑循环)的沙盒解决方案。

 

网站集解决方案库

解决方案库是解决方案的储存库,网站集管理员可以利用这些储存库来管理其网站集中的解决方案。

在上载 SharePoint 解决方案包 (.wsp) 文件时,会将该文件作为沙盒解决方案进行处理。

 

沙盒解决方案限制

其中的一些限制包括:

  • 可能容易受到攻击的 SharePoint 项目模板(如网站定义和工作流)将不可用。

  • SharePoint 在一个独立于主 IIS 应用程序池 (w3wp.exe) 进程的进程 (SPUCWorkerProcess.exe) 中运行沙盒解决方案代码。

  • 不能将映射文件夹添加到项目中。

  • 而只能在沙盒解决方案中使用 Microsoft SharePoint Foundation 2010 程序集 Microsoft.SharePoint 中的类型。

Sandboxed Solution 属性相关联的数据。

 

沙盒解决方案中的功能和元素

沙盒解决方案支持以下功能和元素:

  • 列表定义

  • 列表实例

  • Onet.xml

  • WebTemplate 功能元素(而不是 Webtemp.xml)

  • 内容类型/字段

  • 导航

  • 模块/文件

  • 功能标注

  • Web Parts — Web 部件

  • System.Web.UI.WebControls.WebParts.WebPart 的所有 Web 部件的支持

  • 事件接收器

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • 自定义操作

  • 声明性工作流

沙盒解决方案不支持以下功能和元素:

  • 可视 Web 部件

  • 应用程序页

  • 自定义操作组

  • HideCustomAction 元素

  • 内容类型绑定

  • Web 应用程序作用域内的功能

  • 场作用域内的功能

  • 包含代码的工作流

相关文章: