沙盒解决方案与场解决方案之间的差异

来源:互联网 发布:js怎么给隐藏域赋值 编辑:程序博客网 时间:2024/06/06 00:21

服务器场解决方案

在SharePoint开发中,支持所有定制功能的开发,可以在任意级别中使用。但是,它的部署,需要服务器管理员来操作,只有服务器管理员才有权限安装和部署我们定制开发的解决方案。

 

沙盒解决方案:

沙盒解决方案是在SharePoint2010中才有的一种解决方案,它的好处是安装和部署解决方案时,只需要站点集管理员就可以了,不用每次都去找服务器管理员来做部署工作。而站点集管理员的权限小于服务器管理员,所以呢,沙盒解决方案可定制的开发也就受到了限制,只能做部分功能的定制。而那些受限的功能一般有这样一些情况,如:访问站点之外的资源(磁盘文件,操作数据库等)

 

SharePoint可定制开发的场景:

1.在浏览器上,定制站点的模板,页面,主题,列表,文档库等(这些定制化的内容,开发人员和用户都可以定制,前提是需要有相应的权限);

2.通过SharePoint Disigner定制开发或修改网站的模板,外部数据,工作流,非服务器端代码才能完善的功能等(这些内容需要开发人员来完成);

3.通过开发工具(Visual Studio)定制开发的功能,WebPart,Features,EventHandler,workflow等等。(这些功能一定是开发人员参与开发,部署的时候,如果是SharePoint2007,一定需要服务器管理员才可以部署;如果是SharePoint2010,可根据解决方案类型,选择是服务器管理员还是网站集管理员来部署)

(关于SharePoint解决方案的相关信息,陈希章老师的博客中有更详细的参考:http://www.cnblogs.com/chenxizhang/archive/2011/11/13/2246958.html)

 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

场解决方案

场解决方案承载于 IIS 辅助进程 (W3WP.exe) 中,将运行会影响整个场的代码。在调试其“沙盒解决方案”属性设置为“场解决方案”的 SharePoint 项目时,系统的 IIS 应用程序池会在 SharePoint 收回或部署功能之前进行回收,以便发布由 IIS 辅助进程锁定的任何文件。仅回收为 SharePoint 项目的网站 URL 服务的 IIS 应用程序池。

 

沙盒解决方案

沙盒解决方案承载于 SharePoint 用户代码解决方案辅助进程 (SPUCWorkerProcess.exe) 中,将运行只会影响解决方案的网站集的代码。由于沙盒解决方案不在 IIS 辅助进程中运行,因此 IIS 应用程序池和 IIS 服务器都无需重新启动。Visual Studio 将调试器附加到 SPUCWorkerProcess 进程,SharePoint 中的 SPUserCodeV4 服务将自动触发和控制该进程。SPUCWorkerProcess 进程无需回收即可加载最新版本的解决方案。

 

任一类型的解决方案

无论使用哪一类解决方案,Visual Studio 都会将调试器附加到浏览器以启用客户端脚本调试。为实现此目的,Visual Studio 将使用脚本调试引擎。 若要启用脚本调试,您必须在收到系统提示时更改默认浏览器设置。

Visual Studio 只会将调试器附加到运行当前网站的 W3WP 或 SPUCWorkerProcess 进程。此外,Visual Studio 还附加托管 COM Plus 和工作流调试引擎

原创粉丝点击