2011-04-19 256 views
4

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

回答

8

查找有关此文件有点困难,但我发现它here。相关部分是这些:

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

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

下面的代码可以用来调整每请求超时:

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

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

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

你有重新启动Microsoft SharePoint Foundation沙盒代码服务以使更改生效。

0

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

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