c# – 使用客户端对象模型在SharePoint文档库上创建文件夹

c# – 使用客户端对象模型在SharePoint文档库上创建文件夹,第1张

概述我想使用客户端对象模型(C#)在SharePoint文档库上创建文件夹.下面是执行此 *** 作的代码. ContentTypeCollection listContentTypes = list.ContentTypes; clientContext.Load(listContentTypes, types => types.Include 我想使用客户端对象模型(C#)在SharePoint文档库上创建文件夹.下面是执行此 *** 作的代码.

ContentTypeCollection ListContentTypes = List.ContentTypes; clIEntContext.Load(ListContentTypes,types => types.Include                                     (type => type.ID,type => type.name,type => type.Parent)); var result = clIEntContext.Loadquery(ListContentTypes.Where(c => c.name == "Folder"));clIEntContext.Executequery();ContentType folderContentType = result.FirstOrDefault();ListItemCreationinformation newItemInfo = new ListItemCreationinformation();newItemInfo.UnderlyingObjectType = fileSystemObjectType.Folder;newItemInfo.Leafname = Foldername;ListItem newListItem = List.AddItem(newItemInfo);newListItem["ContentTypeID"] = folderContentType.ID.ToString();newListItem["Title"] = Foldername;ewListItem.Update();clIEntContext.Load(List);clIEntContext.Executequery();

现在我在库上创建了数千个文件夹.
那么有什么其他方法我可以使用批量 *** 作来做到这一点,所以客户端到服务器的连接只会被调用一次.

问题是创建文件夹需要花费太多时间,因为对于每个文件夹,它都会调用SharePoint对象.

解决方法 这很简单.只需将要创建的所有文件夹添加到列表中,然后在运行Executequery函数之前遍历列表并创建所有列表项:

List<string> foldernames = new List<string>();        foldernames.Add("Folder 1");        foldernames.Add("Folder 2");        foldernames.Add("Folder 3");        ClIEntContext context = new ClIEntContext("https://sharepoint.Site/Test");        List List = context.Web.Lists.GetByTitle("documents");        var folder = List.RootFolder;        context.Load(folder);        context.Executequery();        foreach (string foldername in foldernames)        {            ListItemCreationinformation newItemInfo = new ListItemCreationinformation();            newItemInfo.UnderlyingObjectType = fileSystemObjectType.Folder;            newItemInfo.Leafname = foldername;            ListItem newListItem = List.AddItem(newItemInfo);            newListItem["Title"] = foldername;            newListItem.Update();        }        context.Executequery();

奇迹般有效.您只需要在运行任何CSOM代码之前暂存所有文件夹路径/名称.

总结

以上是内存溢出为你收集整理的c# – 使用客户端对象模型在SharePoint文档库上创建文件夹全部内容,希望文章能够帮你解决c# – 使用客户端对象模型在SharePoint文档库上创建文件夹所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存