SharePoint Online 沙盒解决方案开发小结
来源:互联网 发布:nginx能干什么 编辑:程序博客网 时间:2024/05/17 23:30
最近做了一个office365的项目,用SharePoint沙盒解决方案在SharePoint 2010 版本上开发的,虽然SharePoint 2013 已经不推荐使用沙盒解决方案开发(详情请参考MSDN,只是不推荐,但是一样可以用),但是因为沙盒解决方案和场解决方案在开发模式和部署模式都有很多的不同,而且项目比较简单,遇到的问题也比较有通用性,所以把这些记录下来,希望帮看到这篇博客的同行节省一点时间。
因为国内相关的资料很少,而且我这篇文章也不打算讲得太细,所以主要是引用外部链接,如果有些链接打不开,请用在线代理试试。
沙盒解决方案的限制:
http://www.sharepointdiary.com/2012/03/50-limitations-of-sharepoint-sandboxed.html#ixzz2LQrPljGQ
http://msdn.microsoft.com/en-US/library/gg615456.aspx
限制非常多,让刚接触沙盒解决方案的人非常非常头疼,连visual web part 和application page,sharepoint自带的控件等等等等都不支持。但是既然选择了沙盒解决方案肯定有不得已的原因,那么就一条一条过一遍吧。
一些小技巧:
1. 创建Visual Web Part based on sandbox
需要安装Visual Studio 2010 SharePoint Power Tools,安装地址:http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9/
2. 创建有后台代码的应用程序页面
沙盒不能直接创建应用程序页面,所以需要绕一下,在一个内容页面里嵌入一个webpart,然后在这个webpart里写代码,参考地址http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9/
3. 调用客户端脚本
因为沙盒后台不支持直接调用客户端脚本 (Page.ClientScript.RegisterStartupScript 和 ScriptManager.RegisterStartupScript)
所以需要在前台调用(后台画出来当然也行),请参考这篇博客 http://blogs.msdn.com/b/ketaanhs/archive/2011/06/23/page-class-sp-2010-sandbox-solution.aspx
这篇博客是基于base web part 开发的,如果用visual web part开发就很简单了,直接在前台写<input id="Submit1" type="submit" value="Search" onclick="return Submit1_onclick()"/> 就可以,请无视他的InitializeControl()那一段,visual web part 自动生成的。如果想更进一步动态加载JS库(提高性能),也可以参考这篇经典的博客:http://blog.mastykarz.nl/dynamically-loading-javascript-sandbox/
以下是两个简单的列子:
后台调用脚本转向:
protected void Preview_Click(object sender, EventArgs e) { var ltlScript = new Literal(); ltlScript.Text = "<script type='text/javascript' language='javascript'>window.location='http://www.baidu.com';</script>"; this.Controls.Add(ltlScript); }
前台调用脚本
<script type="text/javascript"> function Submit1_onclick(){ ... }</script>
<input id="Submit1" type="submit" value="Search" onclick="return Submit1_onclick()"/>
4. 调试
因为沙盒是直接部署到site collection的,不能部署到GAC,所以部署的过程不需要重启IIS,只需要attach SPUCWorkerProcess.exe 即可,非常方便。
- SharePoint Online 沙盒解决方案开发小结
- SharePoint 沙盒解决方案 VS 场解决方案
- 申请免费的sharepoint online开发站点
- SharePoint解决方案开发模型系列
- Office 365 - SharePoint 2013 Online 之应用程序开发
- Sharepoint online 如何使用asp.net开发项目!!!
- SharePoint Online开发-环境准备、项目新建、调试与部署
- SharePoint online ClientContext
- SharePoint online Multilingual support
- SharePoint online Multilingual support
- SharePoint online Multilingual support
- SharePoint Online 创建图片库
- SharePoint开发部署WSP解决方案包
- SharePoint开发部署WSP解决方案包
- SharePoint 沙盒解决方案部署无法启动计算机服务SPUserCodeV4
- SharePoint 2010中的沙盒解决方案(Sandboxed Solution)
- SharePoint 2010中的沙盒解决方案(Sandboxed Solution)
- SharePoint Online 创建网站集
- ASP.NET网站建设笔记1—页面居中
- Materials Studio 5.5 集群安装拾遗
- STRUTS2为ACTION配置METHOD属性
- Autotools上手指南1——autoconf基本思想
- HTML---- 渐变颜色, P强制不换行、自动换行、强制换行
- SharePoint Online 沙盒解决方案开发小结
- MyEclipse更改默认字符集
- VIE结构是什么?互联网公司
- 压缩感知基本原理
- java 将一个字符串解析为日期 将日期转为自己定义的格式以字符串输出
- Oracle11g卸载详解
- 轻松搞定面试中的链表题目
- 如何检测显卡类型和OpenGL版本?
- static定义全局变量的分析