沙盒解决方案中的程序集部署在何处?

本主题介绍沙盒解决方案中的程序集的部署位置和部署方式。

上次修改时间: 2011年11月17日

适用范围: SharePoint Foundation 2010

在 SharePoint Online 中提供

沙盒解决方案无法将文件部署到服务器的文件系统这一事实引发了一个问题,即在何处部署并保留沙盒解决方案中的程序集。

备注

在 Microsoft Visual Studio 中打开的沙盒解决方案中的 .package 文件的内容表明,全局程序集缓存是沙盒解决方案中的程序集的部署目标。本主题将会很清楚地说明,实际情况并非如此。

沙盒解决方案的部署和持久性

解决方案包(.wsp 文件)中包含沙盒解决方案中的程序集,该包将部署到网站集的解决方案库中。首次访问沙盒解决方案时(例如,当用户导航到包含沙盒解决方案中的 Web 部件的页面时),将从库中的包中提取解决方案中的所有程序集,并将它们复制到处理沙盒请求的服务器的文件系统。位置为 C:\ProgramData\Microsoft\SharePoint\UCCache。此服务的可执行文件为 SPUCHostService.exe。处理沙盒请求的服务器不必是处理初始 HTTP 请求的前端 Web 服务器:相反,可在服务器场中的后端应用程序服务器上运行 Microsoft SharePoint Foundation 沙盒代码服务。由于沙盒用户进程 (SPUCWorkerProcess.exe) 无法将任何内容复制到文件系统,因此复制操作将由 Microsoft SharePoint Foundation 沙盒代码服务执行。

沙盒解决方案的程序集不会永久性地保留在文件缓存中。当访问解决方案的用户会话结束时,这些程序集只会在缓存中停留一小段时间,如果其他用户会话访问这些程序集,则可从该位置重新加载它们。最后,如果未访问这些程序集,则按照某种专有算法移除它们,该算法会考虑服务器的繁忙状态以及自上次访问程序集后经过的时间。如果在此时间之后使用沙盒解决方案,则将在重新提取程序集并将其复制到 UCCache。

警告注释警告

管理员、开发人员和第三方代码不应从 UCCache 中添加、移除或加载任何内容。它只能由 SharePoint 基础结构访问。

请参阅

概念

安装、卸载和升级沙盒解决方案

开发沙盒解决方案的最佳实践

可以在沙盒解决方案中实现哪些内容

其他资源

沙盒解决方案资源中心 | SharePoint 2010(该链接可能指向英文页面)