功能提供托管元数据服务

时间:2012-08-07 16:21:30

标签: c# powershell sharepoint-2010

我创建了一个PowerShell脚本:

  1. 使用Get-SPServiceApplicationPool,Get-SPMetadataServiceApplicationProxy和Get-SPMetadataServiceApplication检查服务是否已配置
  2. 使用相应的Remove- * cmdlet删除应用程序池,代理和服务(如果存在)
  3. 使用相应的New- * cmdlet创建应用程序池,代理和服务
  4. 启用分类和元数据导航功能(如果未启用)
  5. 创建并填充组和术语集
  6. 我想在C#中将其实现为FeatureActivated事件中具有功能事件接收器的功能。我在第一步中遇到了第一个问题(可能还有更多问题)。在尝试了解如何从我自己的C#获取SPIisWebServiceApplicationPool一段时间后,我反编译了Microsoft.SharePoint.Powershell以了解如何实现Get-SPServiceApplicationPool cmdlet,并通过访问Microsoft.SharePoint程序集中的SPIisWebApplicationSettings来完成。它使用SPIisWebApplicationSettings.Default.ApplicationPools枚举。该类标记为内部,并且通过在Microsoft.SharePoint程序集中包含InternalsVisibleTo属性,允许从Microsoft.SharePoint.Powershell程序集访问它。

    因此,如果没有黑客攻击并重新编译Microsoft.SharePoint程序集以使我的程序集InternalsVisibleTo访问并且不在我的功能中托管PowerShell,我如何检查SPIisWebServiceApplicationPool是否存在,如果存在则将其删除然后创建新的SPIisWebServiceApplicationPool?此外,使用反射来访问内部类是不可取的...我正在寻找我在SharePoint API中缺少的东西,这将让我这样做。

0 个答案:

没有答案