我正在尝试SPWeb.GetListItem()
通过已知 URL ( MSDN ) 获取项目。
所以基本上我正在做以下事情:
using (SPSite spSite = SPContext.Current.Site)
{
using (SPWeb spWeb = spSite.RootWeb)
{
SPListItem spListItem = spWeb.GetListItem
("/sites/testSite/Lists/testList/Folder/Subfolder");
}
}
如果您想知道,我正在尝试获取文件夹“子文件夹”来处理它。
问题是我第一次调用这个时,我得到了一个 COMExpeption:
无法完成此操作。
请再试一次。
<nativehr>0x80004005</nativehr><nativestack></nativestack>
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息: System.Runtime.InteropServices.COMException:无法完成此操作。
有一些关于 COMException 发生的 报告,因为您需要使用完整的相对站点 URL,所以/Lists/testList/Folder/SubFolder
您需要使用而不是 ,/sites/testSite/Lists/...
我正在这样做。我还尝试使用绝对 URL ( http://sharepoint/sites/...
)。问题仍然存在:第一次尝试获取 spListItem 时出现 COMException。
当我尝试在异常之后再次运行代码时,SPListItem 接收得很好。此外,所有后续调用都有效 - 只有第一个调用失败。
我是在做一些初始化错误或类似的事情吗?