我最近從Sharepoint 2007升級到2010年。我有一個Windows服務,它將pdf插入到SharePoint中。它在2007年的偉大工程,當我遷移到2010年,我開始下面的間歇性錯誤:<nativehr> 0x80070002</nativehr> Sharepoint 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將成功。
由於它不是很容易複製,我正在尋找任何可能追蹤的線索。從Google搜索中,「推薦」修補程序是將任何.GetList(...)調用更改爲SPWeb.Lists [「..」];
但是,我從了,由於PERF命中2007年(.GetList(...)具有比SPWeb.Lists更好的PERF [ 「...」])
有什麼建議?
謝謝!
Dave
你試過web.Lists.TryGetList()嗎? http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistcollection.trygetlist(v=office.14).aspx – Alexey 2013-01-23 09:11:59