配置沙盒解决方案服务层 (SharePoint Server 2010)

 

适用于: SharePoint Foundation 2010, SharePoint Server 2010

上一次修改主题: 2016-11-30

根据沙盒解决方案所使用的每个请求的资源平均数,可将这些解决方案组织到沙盒解决方案服务的 中。一个层由包含一个或多个运行沙盒解决方案的应用程序域的一个或多个工作进程组成。默认情况下,所有解决方案都在一个层中的沙盒解决方案服务中运行。您可在沙盒解决方案服务内配置其他层来隔离沙盒解决方案,从而获得更好的性能、安全和可靠性。有关层的详细信息,请参阅沙盒解决方案概述 (SharePoint Server 2010)沙盒层(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=217145&clcid=0x804)(该链接可能指向英文页面)。有关如何规划层的信息,请参阅规划沙盒解决方案 (SharePoint Server 2010)

沙盒解决方案服务提供了沙盒解决方案在您的 Microsoft SharePoint Server 2010 服务器场上运行的环境。您可使用 SharePoint 管理中心网站来启动和停止服务,但是您必须使用 Windows PowerShell 配置服务的层和多数其他功能。

本文内容:

  • 配置沙盒解决方案服务层

  • 显示沙盒解决方案服务配置设置

  • 重新启动沙盒解决方案服务

配置沙盒解决方案服务层

您可使用此过程来为沙盒解决方案服务配置层,并为每个层配置工作进程、应用程序域和其他属性。您可将本过程中的代码示例用作独立脚本,或者可将其与本文介绍的其他过程中的示例脚本结合使用,从而配置层及其属性、显示设置并重新启动服务。有关层的属性的详细信息,请参阅使用执行层以保护运行良好的沙盒解决方案(该链接可能指向英文页面)(https://go.microsoft.com/fwlink/?linkid=220258&clcid=0x804)(该链接可能指向英文页面)。

配置层

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 复制以下代码并将其粘贴至文本编辑器(如“记事本”)中:

    #Initialize the SPUserCodeService variable
    $uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::local
    
    #Delete any existing default tiers first
    foreach($tier in $uc.Tiers)
    {
         $tier.Delete()
    }
    $uc.Tiers.Add("Tier1")
    $uc.Tiers["Tier1"].MaximumWorkerProcesses = 5
    $uc.Tiers["Tier1"].MaximumConnectionsPerProcess = 10
    $uc.Tiers["Tier1"].MaximumAppDomainsPerProcess = 10
    $uc.Tiers["Tier1"].PriorityPerProcess = [int] ([System.Diagnostics.ProcessPriorityClass]::Normal)
    $uc.Tiers["Tier1"].ResourceMaxValue = 0.1
    $uc.Tiers["Tier1"].Update()
    
    $uc.Tiers.Add("Tier2")
    $uc.Tiers["Tier2"].MaximumWorkerProcesses = 5
    $uc.Tiers["Tier2"].MaximumConnectionsPerProcess = 10
    $uc.Tiers["Tier2"].MaximumAppDomainsPerProcess = 10
    $uc.Tiers["Tier1"].PriorityPerProcess = [int] ([System.Diagnostics.ProcessPriorityClass]::BelowNormal)
    $uc.Tiers["Tier2"].ResourceMaxValue = 10
    $uc.Tiers["Tier2"].Update()
    
  3. 保存文件并将其命名为 ConfigureTiers.ps1。

  4. 在“开始”菜单上,单击“所有程序”。

  5. 单击“Microsoft SharePoint 2010 产品”。

  6. 单击“SharePoint 2010 Management Shell”。

  7. 转到保存该文件的目录。

  8. 在 Windows PowerShell 命令提示符处,键入以下命令:

    ./ConfigureTiers.ps1
    
  9. 在服务器上重新启动 SharePoint 2010 User Code Host 服务。

显示沙盒解决方案服务配置设置

您可使用此过程来显示已针对沙盒解决方案服务配置的层,并显示当前针对每个层所配置的工作进程、应用程序域及其他属性。您可将此脚本追加到上一过程中的脚本中,或者将其用作独立脚本。

显示现有配置

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 复制以下代码并将其粘贴至文本编辑器(如“记事本”)中:

    #Loop through and show the user what exactly has been created
    
    $uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local
    
    Write-Host "The following tiers have been created"
    Write-Host "***********************************************************"
    
    foreach($tier in $uc.Tiers)
    {
         Write-Host "Tier Name: $($tier.Name)"
         Write-Host "Tier MaximumWorkerProcess: $($tier.MaximumWorkerProcesses)"
         Write-Host "Tier MaximumConnectionsPerProcess: $($tier.MaximumConnectionsPerProcess)"
         Write-Host "Tier MaximumAppDomainsPerProcess: $($tier.MaximumAppDomainsPerProcess)"
         Write-Host "Tier PriorityPerProcess: $($tier.PriorityPerProcess)"
         Write-Host "Tier ResourceMaxValue: $($tier.ResourceMaxValue)"
    
         Write-Host "***********************************************************"
    }
    
  3. 保存文件并将其命名为 DisplayTiers.ps1。

  4. 在“开始”菜单上,单击“所有程序”。

  5. 单击“Microsoft SharePoint 2010 产品”。

  6. 单击“SharePoint 2010 Management Shell”。

  7. 转到保存该文件的目录。

  8. 在 Windows PowerShell 命令提示符处,键入以下命令:

    ./DisplayTiers.ps1
    

重新启动沙盒解决方案服务

对沙盒解决方案服务的配置所做的很多更改都需要在重新启动该服务之后方可生效。此过程将创建一个您可将用来重新启动沙盒解决方案服务的脚本。您可以将此脚本追加到其他配置脚本中,以便在更改沙盒解决方案服务的配置时自动重新启动该服务。

通过使用 Windows PowerShell 重新启动沙盒解决方案服务

  1. 确认您满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 复制以下代码并将其粘贴至文本编辑器(如“记事本”)中:

    #Recycle the UserCode Service
    $server = [Microsoft.Sharepoint.Administration.SPServer]::local
    
    $userCodeServiceInstance
    $getChildMethod
    $type = $server.GetType()
    
    foreach($method in $type.GetMethods())
    {
         if( $method.Name -eq "GetChild")
         {
              $getChildMethod = $method
         }
    }
    
    $genericMethod = $getChildMethod.MakeGenericMethod([microsoft.sharepoint.administration.spusercodeserviceinstance])
    $userCodeServiceInstance = $genericMethod.Invoke($server, $null)
    $userCodeServiceInstance.Provision()
    
  3. 保存文件并将其命名为 RestartService.ps1。

  4. 在“开始”菜单上,单击“所有程序”。

  5. 单击“Microsoft SharePoint 2010 产品”。

  6. 单击“SharePoint 2010 Management Shell”。

  7. 转到保存该文件的目录。

  8. 在 Windows PowerShell 命令提示符处,键入以下命令:

    ./RestartService.ps1
    

See Also

Concepts

沙盒解决方案概述 (SharePoint Server 2010)
规划沙盒解决方案 (SharePoint Server 2010)
在服务器场上启用沙盒解决方案 (SharePoint Server 2010)
阻止或取消阻止沙盒解决方案 (SharePoint Server 2010)
为沙盒解决方案配置负载平衡 (SharePoint Server 2010)
为沙盒解决方案配置资源点 (SharePoint Server 2010)