यह संभव है कि आईई इंस्टेंस ठीक तरह से निपटान नहीं किया जा रहा है। आप टास्क मैनेजर को देखना चाहते हैं और देखें कि आपके द्वारा चल रहे IEXPLORE.EXE प्रक्रियाओं को कितनी खुली है। आप दो से अधिक है, तो मैं एक का उपयोग कर ब्लॉक को लागू करने का सुझाव देते हैं और उसके बाद फिर कार्य प्रबंधक जाँच:
using (IE ie = new IE(URLs.mainURL)
{
...
}
इससे भी बेहतर समाधान AttachTo विधि का उपयोग किया जाएगा एक बार आप एक "मास्टर" ब्राउज़र उदाहरण चर प्रारंभ किया है :
private IE ie = new IE();
public void btnStartBrowsing_Click(object sender, EventArgs e)
{
using ie2 = ie.AttachTo<IE>(Find.ByUrl(URLs.mainURL))
{
...
}
}
अद्यतन: जब से तुम सत्र की अवधि के लिए ब्राउज़र की पहुंच की जरूरत है, मैं दृढ़ता से ब्राउज़र वस्तु घर में एक सिंगलटन वस्तु का उपयोग कर सुझाव है:
public sealed class BrowserIE
{
static readonly IE _Instance = new IE();
static BrowserIE()
{
}
BrowserIE()
{
}
public static IE Instance
{
get { return _Instance; }
}
}
ब्राउज़र केवल एक बार खोला जाता है, और जब भी आप इसकी आवश्यकता है कि आप इसे करने के लिए उपयोग किया है, के बाद से आप मैन्युअल रूप से यह दृष्टांत की जरूरत नहीं है। इसका इस्तेमाल करने के लिए, आप बस हर बार उदाहरण संपत्ति फोन आप ब्राउज़र के लिए उपयोग की जरूरत है:
BrowserIE.Instance.GoTo(URLs.mainURL);
Divs headerDivs = BrowserIE.Instance.Divs.Filter(Find.ByClass("header"));
स्रोत
2010-09-22 16:27:43
इतने देर से उत्तर नील टी के लिए खेद है, लेकिन मैं उपयोग करने के लिए विभिन्न आर्किटेक्चर पर विचार कर रहा था लेकिन अभी भी मुझे वें त्रुटि मिल रही थी ....... इसके अलावा मुझे आवेदन चलाने की पूरी अवधि के लिए उदाहरण का उपयोग करने की आवश्यकता है। .............................. और दोस्तों कृपया इस प्रश्न में मेरी सहायता करें http://stackoverflow.com/questions/3766784/problem-in-updateating-datagridview-through-a-thread-when-scrolling –