我想添加一个带有 SharePoint Server 对象模型的文件(--> 我的代码在服务器上运行),我的代码确实可以工作,但是 和 的Files.Add
调用SPListItem.Update()
非常慢。
对于一个 5 MB 的文件,调用 toFiles.Add
大约需要 11 秒,调用 toSPListItem.Update
设置元数据大约需要 4 秒。
private void UploadSimple()
{
var metadata = GetSalesArticleInsertDemoData();
string fileName = "sample2.jpg";
FileStream file = File.OpenRead(fileName);
using(SPSite site = new SPSite(SPURL))
{
using(SPWeb web = site.OpenWeb())
{
SPList destinationList = GetListToBeUploadedIn(); // fast
SPFile fileDetails = destinationList.RootFolder.Files.Add("test000001.jpg", file, null, false); // slow
SPListItem newItem = fileDetails.ListItemAllFields;
FillListItemWithData(metadata, newItem); // fast, a few fields get filled with sample data
newItem.Update(); // slow
}
}
}
通过客户端对象模型上传相同的文件和设置元数据大约需要 9 秒,此时文件必须通过网络传输。
有谁知道或有线索可能是缓慢的原因?