2010-02-09 9 views
8

फेंकता है मैं एक इंटरनेट एक्सप्लोरर कमांड बटन विकसित कर रहा हूं जो एक बार क्लिक किए जाने पर एक विशिष्ट वेब पेज खोल देगा। यहाँ कोड का एक टुकड़ा (IEAppIE.WebBrowser का एक उदाहरण के लिए एक संदर्भ है):WebBrowser.Navigate (...) COMException

IEApp.Navigate(sURL, ref one, ref two, ref three, ref four); 

ऊपर लाइन निम्नलिखित COMException फेंकता है:

Exception Source:  Interop.SHDocVw 
Exception Type:  System.Runtime.InteropServices.COMException 
Exception Message:  The requested resource is in use. (Exception from HRESULT: 0x800700AA) 
Exception Target Site: Navigate 

यह IE6 या IE7 पर एक समस्या नहीं था। क्या गलत हो रहा है पर कोई विचार? मैं कमांड बटन बनाने के लिए AddInExpress का उपयोग कर रहा हूं।

चीयर्स! ईसाई

+0

क्या आप अपना ऐप फिडलर के साथ चला सकते हैं? यह धागा (http://forums.iis.net/t/1146952.aspx) बताता है कि समस्या क्लाइंट पक्ष पर नहीं हो सकती है और आपको सर्वर से HTTP 500 वापस मिल रहा है। –

+0

दुर्भाग्य से, फिडलर में कोई गतिविधि नहीं देखी जा सकती है। लेकिन त्रुटि संदेश लगभग तुरंत है। इसके अलावा, मैं उत्सुक हूं कि "अनुरोधित संसाधन उपयोग में है" का अर्थ है। मैं देख सकता हूं कि व्यस्त संपत्ति अगर सच है, लेकिन ब्राउज़र वास्तव में कुछ भी नहीं कर रहा है। – ChrispedDK

+1

यह उल्लेख किया जा सकता है [यहां] (http://stackoverflow.com/a/20612526/238419) –

उत्तर

5

यह त्रुटि तब होती है जब आईई कुछ और कर रहा है, उदा। एक window.alert संदेश बॉक्स प्रदर्शित करना।
कोशिश दबाने स्क्रिप्ट त्रुटियों और IDocHostShowUI कार्यान्वित करके संदेश पंप

+1

वर्तमान यूआरएल इस बारे में है: रिक्त, आईई.WebBrowser पर संपत्ति की जांच करते समय भी मुझे नहीं लगता यह वास्तव में कुछ भी कर रहा है। – ChrispedDK

+0

IWebBrowser2 का वापसी मूल्य क्या है :: get_ReadyState –

+1

वर्तमान नेविगेशन को रोकने का प्रयास करें (यदि आप वास्तव में पृष्ठ को लोड नहीं होने पर रोकना चाहते हैं) या अनुरोध कतार में नेविगेशन जोड़ें और IWebBrowser2 :: get_Busy प्रतीक्षा करने के लिए टाइमर का उपयोग करें झूठी वापसी –

1

सकता है इस मदद को रोके बिना S_OK वापसी:, Windows में यूएसी बंद करने से आप किसी सर्वर तरह संस्करण का उपयोग कर रहे हैं:

स्क्रीन गोली मारता है यहां: http://blog.vincentbrouillet.com/post/2011/02/10/watin%3A-The-requested-resource-is-in-use

मुझे यह त्रुटि थी, और यह काफी यादृच्छिक था। मैंने परीक्षण चलाने से पहले आईई की हत्या की कोशिश की। यह काम है, लेकिन हर समय नहीं।

+1

नहीं, ग्राहकों को यूएसी को अक्षम करने के लिए नहीं कह सकता है। नीचे मेरा समाधान देखें। – ChrispedDK

+0

@ChrispedDK: मैं भी इस समस्या के लिए समाधान की तलाश में हूं – anand