Sharepoint 2010 第一次调用时SPWeb.GetListItem COMException-第二次正常

Sharepoint 2010 第一次调用时SPWeb.GetListItem COMException-第二次正常,sharepoint-2010,listitem,comexception,spweb,Sharepoint 2010,Listitem,Comexception,Spweb,我正在尝试使用SPWeb.GetListItem()通过已知URL()获取项目 因此,基本上我在做以下工作: using (SPSite spSite = SPContext.Current.Site) { using (SPWeb spWeb = spSite.RootWeb) { SPListItem spListItem = spWeb.GetListItem ("/sites/testSite/Lists/testList/Fold

我正在尝试使用
SPWeb.GetListItem()
通过已知URL()获取项目

因此,基本上我在做以下工作:

using (SPSite spSite = SPContext.Current.Site)
{
    using (SPWeb spWeb = spSite.RootWeb)
    {
        SPListItem spListItem = spWeb.GetListItem
            ("/sites/testSite/Lists/testList/Folder/Subfolder");
    }
}
如果你想知道,我正试图让文件夹“子文件夹”来处理它

问题是,我第一次打电话给这个,我得到了一个ComExpection:

无法完成此操作

请试一试 再次。
0x80004005

说明:未处理的异常 在执行过程中发生 当前web请求。请检查 有关堆栈跟踪的详细信息,请参阅 错误及其来源 密码

异常详细信息: System.Runtime.InteropServices.COMException: 无法完成此操作

发生COMException的原因是您需要使用完整的相对站点URL,因此您需要使用
/Lists/testList/Folder/SubFolder
,而不是
/sites/testSite/Lists/…
——我正在这样做。我还尝试使用绝对URL(
http://sharepoint/sites/...
)。问题仍然存在:我在第一次尝试获取spListItem时得到了COMException。
当我尝试在异常发生后再次运行代码时,SPListItem被很好地接收到。此外,所有后续调用都有效-只有第一个调用失败


AmI在初始化时出错或诸如此类吗?

或许可以试试SPWeb.GetFolder()。。。但这同样取决于你到底想对文件夹做什么。虽然您使用的方法用于获取文件夹中的列表项,但这似乎很奇怪


尝试实例化列表项所在的网站-
\u uiserWeb

我尝试了
Site.RootWeb.GetListItem(item\uURL)
-在重新部署代码后,它第一次给了我
null
,第二次很好

_item = _userWeb.GetListItem(item_url)