zoukankan      html  css  js  c++  java
  • 解决在使用client object model的时候报“object does not belong to a list”错误

    在查看别人代码的时候,发现了个有意思的问题,使用client object model将一个文件check in

    我使用的是如下语句获取file

    Microsoft.SharePoint.Client.File fileUploaded = context.Web.GetFileByServerRelativeUrl(docPathUrl);

    context.Load(fileUploaded);
    context.ExecuteQuery();

    if (fileUploaded.CheckOutType != CheckOutType.None)
    {
    fileUploaded.CheckIn("test", CheckinType.MajorCheckIn);
    context.ExecuteQuery();
    }

    在代码执行到红色部分时候就报错“object does not belong to a list”。

    第一反应是没找到文件所在的List,于是查看docPathUrl,发现是正确的url. 没有问题。继而在跟站点下面执行这段代码,发现运行正常,没有报错,经过一番波折后发现context在初始化的时候ClientContext context = new ClientContext(url)用的时候根站点的URL,而我的文档库在其中一个sub site上面,因为我的docPathUrl使用的是serverrelativeUrl,所以在获取fileUploaded的时候是能获取到的,但是在check in的时候就会报错。

    于是将ClientContext context = new ClientContext(url)中的url变为该文档库所在的sub site的url后,语句运行就没有问题了。

    结论:clientcontext初始化的时候URL要注意啊,尤其后面直接使用了context.web属性的时候。

  • 相关阅读:
    游戏对战练习
    扩展属性 配置文件
    数据操作类:增删改查(三大类)
    作业
    泛型集合
    Linux下查看文件和文件夹大小
    reids客户端 redis-cli用法
    生产环境下JAVA进程高CPU占用故障排查
    MySQL主从复制与读写分离
    最全面 Nginx 入门教程 + 常用配置解析
  • 原文地址:https://www.cnblogs.com/cwyang/p/4971029.html
Copyright © 2011-2022 走看看