SharePoint 2010沙箱解决方案超时



是否有办法调整SharePoint 2010沙箱解决方案的超时值?我想默认是30秒。我有一个网页部分,偶尔运行比这长一点。如果可以避免的话,我真的不希望回到农场的解决方案。

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

Per Request, Request Penalized:完成沙盒解决方案需要的时间是有硬性限制的。缺省值是30秒。如果沙盒解决方案超出限制,则处理请求的应用程序域(但不包括沙盒工作进程)将终止。这个限制是可配置的,但只能通过针对对象模型的自定义代码进行配置。对象模型的相关部分不能被沙盒解决方案访问,所以任何沙盒解决方案都不能改变这个限制。

CPU执行时间此资源的绝对限制不适用,只要它设置高于每个请求,与上面描述的请求惩罚限制。通常,管理员会希望将其设置得更高,以便在缓慢的请求导致整个沙盒工作进程(甚至包括在其中运行的性能良好的沙盒解决方案)终止之前终止它。

下面的代码可以用来调整Per Request超时:

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

你应该能够像下面这样调整CPU执行时间:

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

您必须重新启动Microsoft SharePoint Foundation sandbox Code Service才能使更改生效

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

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

最新更新