【问题标题】:SharePoint 2010 Sandbox Solution TimeoutSharePoint 2010 沙盒解决方案超时
【发布时间】:2011-08-09 00:04:00
【问题描述】:

有没有办法调整 SharePoint 2010 沙盒解决方案的超时值?我认为它默认为 30 秒。我有一个 Web 部件,它偶尔会运行比这更长的时间。如果可以避免的话,我真的不希望回到农场解决方案。

【问题讨论】:

    标签: sharepoint-2010 sandbox-solution


    【解决方案1】:

    查找这方面的文档有点困难,但我找到了here。相关部分如下:

    每个请求,请求惩罚:沙盒解决方案的完成时间有硬性限制。默认情况下,这是 30 秒。如果沙盒解决方案超出限制,则处理请求的应用程序域(而不是沙盒工作进程)将终止。此限制是可配置的,但只能通过针对对象模型的自定义代码。沙盒解决方案无法访问对象模型的相关部分,因此沙盒解决方案无法更改限制。

    CPU 执行时间 该资源的绝对限制不适用,只要它设置为高于 Per Request,并具有上述的 Request Penalized 限制。通常,管理员会希望将其保持得更高,以便在导致整个沙盒工作进程终止之前终止慢速请求,甚至包括在其中运行的表现良好的沙盒解决方案。

    以下代码可用于调整 Per Request 超时:

    SPUserCodeService.Local.WorkerProcessExecutionTimeout = 40;
    SPUserCodeService.Local.Update();
    

    您应该可以通过以下方式调整 CPU 执行时间:

    SPUserCodeService.Local.ResourceMeasures["CPUExecutionTime"].AbsoluteLimit = 50.0;
    SPUserCodeService.Local.Update();
    

    您必须重新启动 Microsoft SharePoint Foundation 沙盒代码服务才能使更改生效。

    【讨论】:

      【解决方案2】:

      在 PowerShell 中,您可以使用以下命令调整超时:

      $uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local
      $uc.WorkerProcessExecutionTimeout = 60
      $uc.ResourceMeasures["CPUExecutionTime"].AbsoluteLimit = 120
      $uc.Update()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-20
        • 2015-05-07
        • 2011-06-01
        • 2011-03-20
        • 2012-06-20
        • 2013-12-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多