怎样用C#代码管理SharePoint解决方式

        本文我们将了解怎样用代码管理SharePoint解决方式。我们使用server端对象模型抽取解决方式。
        SharePoint中解决方式有两类:沙盒解决方式和场解决方式。 沙盒解决方式和场解决方式使用不同方式部署,而且通过不同对象模型抽取。
        注意:这里用SPUserSolution代表沙盒解决方式;SPFarmSolution代表场解决方式。

怎样获得沙盒解决方式

        沙盒解决方式在站点集层次部署。以下是在站点集中抽取全部用户解决方式:
using (SPSite site = new SPSite("http://localhost"))
{
foreach (SPUserSolution solution in site.Solutions)
{
Console.WriteLine(solution.Name);
Console.WriteLine(solution.Status);
}
}

怎样获得场解决方式

        抽取全部场解决方式的代码例如以下:
foreach (SPSolution solution in SPFarm.Local.Solutions)
{
Console.WriteLine(solution.Name);
Console.WriteLine(solution.SolutionId);
Console.WriteLine(solution.Status);
}

接下来看看怎样通过server端对象模型安装解决方式吧。

安装沙盒解决方式

        安装解决方式有两步:加入�到库;激活。
        以下是加入�解决方式到库的代码:
using (SPSite site = new SPSite("http://localhost"))
{
SPDocumentLibrary gallery
=(SPDocumentLibrary)site.GetCatalog(SPListTemplateType.SolutionCatalog);
SPFile file = gallery.RootFolder.Files.Add("SandboxedSolution.wsp",
File.ReadAllBytes("SandboxedSolution.wsp")); SPUserSolution solution = site.Solutions.Add(file.Item.ID);
}

移除沙盒解决方式

        移除解决方式并禁用功能使用下面代码:
using (SPSite site = new SPSite("http://localhost"))
{
SPUserSolution solution = site.Solutions.Cast<SPUserSolution>().
Where(s => s.Name == "Your Solution").First();
site.Solutions.Remove(solution);
}

安装场解决方式

         安装场解决方式使用下面代码:
private static void InstallFarmSolution()
{
SPSolution solution = SPFarm.Local.Solutions.Add("File Path here");
solution.Deploy(DateTime.Now, true, GetAllWebApplications(), true);
}

我们须要指定解决方式路径。上面的代码让解决方式安装到全部Web应用程序中。GetAllWebApplication()方法主体例如以下:

public static Collection<SPWebApplication> GetAllWebApplications()
{
Collection<SPWebApplication> result = new Collection<SPWebApplication>();
SPServiceCollection services = SPFarm.Local.Services;
foreach (SPService s in services)
{
if (s is SPWebService)
{
SPWebService webService = (SPWebService)s;
foreach (SPWebApplication webApp in webService.WebApplications)
{
result.Add(webApp);
}
}
}
return result;
}

移除场解决方式

        移除场解决方式成为收回解决方式。这是合适的方法:
private void RetractFarmSolution(SPSolution solution)
{
solution.Retract(DateTime.Now);
}

创建Timer job收回解决方式。你能够指定開始收回的时间。

        仅仅从指定Web应用程序移除解决方式,參照这种方法:
private void RetractFarmSolution(SPSolution solution, Collection<SPWebApplication> webApplications)
{
solution.Retract(DateTime.Now, webApplications);
}

总结

        本文中,我们学习了怎样使用server端对象模型抽取沙盒解决方式和场解决方式。

參考:

关于沙盒解决方式与场解决方式差别,參照http://msdn.microsoft.com/en-us/library/ee361616.aspx
使用代码激活SharePoint 2010 沙盒解决方式,參照http://msdn.microsoft.com/en-us/library/hh528516(v=office.14).aspx

怎样用C#代码管理SharePoint解决方式的更多相关文章

  1. PowerShell 导出SharePoint管理中心解决方式

    PowerShell 导出SharePoint管理中心解决方式         SharePoint QQ群有人问能不能下载(导出)管理中心里的解决方式.由于在管理中心中点击解决方式会进入还有一个页面 ...

  2. 部署SharePoint解决方式包时遇到的问题

    部署SharePoint解决方式包时遇到的问题 近期我在使用STSADM.EXE命令部署解决方式包的时候.遇到一个问题.很的难搞.         创建WSP文件非常easy.加入到解决方式库也非常e ...

  3. Android_动态权限管理的解决方式

    本博文为子墨原创.转载请注明出处! http://blog.csdn.net/zimo2013/article/details/50478201 1.前言 (1).因为MIUI等部分国产定制系统也有权 ...

  4. 通过PowerShell卸载全部的SharePoint 2010 解决方式

    通过PowerShell卸载全部的SharePoint 2010 解决方式         为了演示.我常常须要拆毁再重建SharePoint 2010 环境.         我常常须要用到的操作就 ...

  5. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方式 SP Apps中的BCS

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方式  SP Apps中的BCS         之前的联系中,你安装了一个业 ...

  6. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office新的App模型         Office 2 ...

  7. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office的JavaScript对象模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office的JavaScript对象模型         ...

  8. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps 集成SP和Office App

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  集成SP和Office App         你能够用两种 ...

  9. google跟踪代码管理器gtm无法给相同class元素绑定click事件埋点解决

    Google 跟踪代码管理器是一个跟踪代码管理系统 (TMS),可以帮助您快速轻松地更新网站或移动应用上的跟踪代码及相关代码段(统称为“代码”).将一小段跟踪代码管理器代码添加到项目后,您可以通过网页 ...

随机推荐

  1. hdu1992(递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1992 题意:用1*2和2*1的小长方形铺垫4*W的方格有多少种方法. 分析:假如新加入1列,这列都竖着 ...

  2. HTML转义字符大全(转)

    1.常用转义字符 转义字符串(Escape Sequence)也称字符实体(Character Entity).在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符 ...

  3. Windows Server时间服务器配置方法

    1 时间服务器经常会碰到客户端机器需要和服务器在时间上保持同步,否则会出现各种问题,特别是有时间相关的触发功能的时候. 为解决各设备间时间统一的问题,我们可在网络中设置一台服务器使其作为基准时间,其它 ...

  4. 最近调试HEVC中码率控制, 发现HM里面一个重大bug

    最近调试HEVC中码率控制, 发现里面一个重大bug! 码率控制中有这么一个函数: Int TEncRCGOP::xEstGOPTargetBits( TEncRCSeq* encRCSeq, Int ...

  5. 天翼玩家wifi,鸡肋or神器?

    昨天,天一在成都,一个举行4G体验活动.谁是背着一个婴儿每一翼4G MiFi终奌站.市民可进入用户password自由的直接经验wifi互联网. 天翼随身wifi是什么? 这样的4G MiFi就是天翼 ...

  6. 设置 zend studio 默认编码为UTF8

    今天用zend studio 打开文件时发现为乱码,这肯定是编码出了问题,我看了一下果然是编码出了问题,默认的是以GBK编码方式打开,我换utf8编码打开就好了,换编码打开的方法是: 1点击工具栏中的 ...

  7. CSS选项卡

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org ...

  8. KSImageNamed-Xcode

    KSImageNamed-Xcode   非常的给力的XCODE图片浏览插件; What is this? Can't remember whether that image you just add ...

  9. swift笔记 (三) —— 字符和字符串

    字符串和字符 苹果要是不提供了unicode的字符串和字符,那就是他们公司全部人的脑袋都被门夹过 他自己家都要发非常多国家的版本号的软件,怎么可能不用unicode呢 此处略去30字... 这里能够拿 ...

  10. MySQL中数据表的增操作

    今天学习到表的增操作,写个博客总结一下,PS:以下所有的凝视都是我在电脑上所有操作完毕后,再拷贝到记事本上加入的.至于在运行的时候可不能够那样加入凝视,就有待考证了. 选择库 mysql> sh ...