专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > SharePoint

解决在使用client object model的时候报“object does not belong to a list”异常

发布时间:2010-06-13 13:35:12 文章来源:www.iduyao.cn 采编人员:星星草
解决在使用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属性的时候。

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: