sharepoint 2010创建文件夹沙盒
我正在使用sharepoint 2010沙箱解决方案并在ItemAdded事件上创建Document Library文件夹或在ListItemEveventReceiver中上传文档。但是当我拨打folder.Update()
异常时出现消息“由于沙盒代码主机服务太忙而无法处理请求,因此沙盒代码执行请求被拒绝”。当我在事件处理程序中从库中删除项目时,它是可以的。我也尝试创建代理操作(SPProxyOperation
),但出现了相同的结果。我试图修复这个帖子http://www.pdfsharepoint.com/error-sandboxed-too-busy-handle-request/。下面是代码:sharepoint 2010创建文件夹沙盒
public override void ItemAdded(SPItemEventProperties properties) { base.ItemAdded(properties); var list = properties.List; if (list.Title.Equals("Learning Objects") && properties.ListItem.File != null) { _publisher.PublishFile(properties.ListItem.File, list); var fileName = properties.ListItem.File.Name; if (fileName.ToLower().Contains(".zip")) { var folder = list.Folders.Add(list.RootFolder.ServerRelativeUrl, SPFileSystemObjectType.Folder, fileName); folder.Update();
//some code
}
}
}
感谢,Yauheni
@Yauheni,你提供的是给在解决方案激活的解决方案库的时候发生的问题的解决方案的链接。但根据你的问题,你的代码并非如此。
由于段,您所提供的代码很容易出现连续火“ItemAdded”事件,您可以尝试以下
public override void ItemAdded(SPItemEventProperties properties)
{
base.ItemAdded(properties);
EventFiringEnabled = false;
// your code goes here
EventFiringEnabled = true;
}
非常感谢你的帮助。有用。 – 2014-11-06 06:43:45
我很高兴它帮助你... :) – Saratchandra 2014-11-06 07:04:58