3

我想添加一个带有 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 秒,此时文件必须通过网络传输。

有谁知道或有线索可能是缓慢的原因?

4

0 回答 0