2011-04-21 13 views
5

में मैंने हाल ही में शेयरपॉइंट 2007 से 2010 तक अपग्रेड किया। मेरे पास एक विंडोज सेवा है जो पीडीएफ को शेयरपॉइंट में सम्मिलित करती है।<nativehr> 0x80070002</nativehr> शेयरपॉइंट 2010

SPList parentList = web.GetList(url); 

क्या अजीब है, यह है कि कभी कभी ही है:

<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) 

यहाँ कोड का उल्लंघन करने वाली पंक्ति है: यह 2007 को अच्छा काम करता है जब मैं 2010 तक चले गए, मैं निम्नलिखित रुक-रुक कर त्रुटि हो रही शुरू कर दिया विफल रहता है। मैंने वास्तव में एक लूप की इस पंक्ति को लपेट लिया है, और यदि यह विफल हो जाता है, तो मैं थोड़ा इंतजार करता हूं, और फिर सूची को फिर से प्राप्त करने का प्रयास करता हूं। आमतौर पर कुछ प्रयासों के बाद, GetList सफल हो जाएगा।

चूंकि यह आसानी से डुप्लिकेट करने योग्य नहीं है, इसलिए मैं किसी भी लीड की तलाश में हूं जिसे मैं ट्रैक करने में सक्षम हूं।

Google खोजों से, "अनुशंसा" फ़िक्स किसी भी को बदलने के लिए है। जीएललिस्ट (...) एसपीवेब को कॉल करता है। सूची [".."];

लेकिन, मुझे 2007 को पर्फ़ हिट होने की वजह से उससे दूर हो गया (.GetList (...) SPWeb.Lists की तुलना में बेहतर पर्फ़ है [ "..."])

कोई सुझाव?

धन्यवाद!
डेव

+0

क्या आपने वेब पर प्रयास करने की कोशिश की है। List.TryGetList()? http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistcollection.trygetlist(v=office.14).aspx – Alexey

उत्तर

0

यदि आप पहली बार प्रश्न में यूआरएल से संबंधित एसपीफ़ोल्डर या एसपीफ़ाइल पुनर्प्राप्त करते हैं तो आप बेहतर त्रुटि को समझ सकते हैं। जांचें .GetFile (...)। मौजूद है और .GetFolder (...) मौजूद है। इसलिए आप पेरेंटलिस्ट संपत्ति भी प्राप्त कर सकते हैं।

0

SPWeb.GetList साइट में सूची नहीं होने पर विधि निश्चित रूप से त्रुटि उत्पन्न करेगी। विधि इस तरह डिज़ाइन की गई है। यह पहले से ही एमएसडीएन में दस्तावेज है।

यदि आप अनिश्चित हैं कि सूची है या नहीं; अपवाद से बचने के लिए Webobject.List[ListName] का उपयोग करें।

नमूना कोड

के लिए मेरे ब्लॉग SharePoint Codes जांच कर सकते हैं मुझे लगता है कि यह देर से जबाब है, लेकिन आशा है कि यह भविष्य में दूसरों मदद करता है।

+1

SPWeb.GetList() URL पर चल रहा है, जबकि SPWeb.Lists [] संग्रह प्रदर्शन नामों का उपयोग करता है, इसलिए वे समान कार्यक्षमता प्रदान नहीं करते हैं। इसके अलावा, SPWeb.List [] निश्चित रूप से एक अपवाद फेंक देगा यदि आप उस आइटम को इंडेक्स करने का प्रयास करते हैं जो संग्रह में मौजूद नहीं है। –

0

क्या SharePoint 2010 को विधि GetMetadataForUrl में फेंक दिया त्रुटि के साथ SPWeb.GetList(reletiveUrl) पर ठीक उसी त्रुटि का समाधान:

  • पुनः आरंभ IIS
  • पुनः आरंभ SPTimerV4 (2010 SharePoint टाइमर)
  • पुनः आरंभ SPAdminV4 (2010 SharePoint प्रशासन)
संबंधित मुद्दे