0x80070002in Sharepoint 2010

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0x80070002in Sharepoint 2010相关的知识,希望对你有一定的参考价值。

我最近从Sharepoint 2007升级到2010.我有一个将pdfs插入sharepoint的Windows服务。它在2007年运行良好。当我迁移到2010年时,我开始收到以下间歇性错误:

<nativehr>0x80070002</nativehr>

at Microsoft.SharePoint.Library.SPRequestInternalClass.GetMetadataForUrl(String bstrUrl, Int32 METADATAFLAGS, Guid& pgListId, Int32& plItemId, Int32& plType, Object& pvarFileOrFolder) at 

Microsoft.SharePoint.Library.SPRequest.GetMetadataForUrl(String bstrUrl, Int32 METADATAFLAGS, Guid& pgListId, Int32& plItemId, Int32& plType, Object& pvarFileOrFolder) at Microsoft.SharePoint.SPWeb.GetList(String strUrl)

这是令人讨厌的代码行:

SPList parentList = web.GetList(url);

奇怪的是,这只会偶尔失败。我实际上已经包裹了这一行循环,如果它失败了,我等一下,然后再尝试获取列表。通常在几次尝试之后,GetList将成功。

由于它不容易重复,我正在寻找任何我可能能够追踪的线索。

从谷歌搜索,“推荐”修复是将任何.GetList(...)调用更改为SPWeb.Lists [“..”];

但是,由于2007年的性能上升(.GetList(...)具有比SPWeb.Lists [“...”]更好的性能),我摆脱了这一点。

有什么建议?

谢谢! 戴夫

答案

如果您第一次检索到与相关网址相关的SPFolder或SPFile,也许您可​​以更好地理解错误。检查.GetFile(...)。存在和.GetFolder(...)。存在。您也可以获取ParentList属性。

另一答案

如果站点中没有列表,SPWeb.GetList方法肯定会引发错误。该方法就是这样设计的。它已经在msdn中记录。

如果你不确定列表是否存在;使用Webobject.List[ListName]来避免异常。

您可以查看我的博客SharePoint Codes以获取示例代码

我认为这是迟到的回复,但希望将来有助于其他人。

另一答案

什么在SPWeb.GetList(reletiveUrl)上解决了完全相同的错误,并在SharePoint 2010上的方法GetMetadataForUrl中引发了错误:

  • 重启IIS
  • 重启SPTimerV4(SharePoint 2010计时器)
  • 重启SPAdminV4(SharePoint 2010管理)

以上是关于0x80070002in Sharepoint 2010的主要内容,如果未能解决你的问题,请参考以下文章

解决iis7 0x80070002 错误代码问题

[Wix Bundle Managed Bootstrapper]错误 0x80070002:无法创建托管引导程序应用程序

Win10安装.net framework 3.5系统找不到指定文件,错误代码0x80070002

IIS异常,系统找不到指定文件(异常来自HRESULT:0X80070002)

路由 HTTP 错误 404.0 0x80070002

SP1安装过程中,出现错误代码为0x8007000D,怎么解决啊 ?