2012-10-06 3 views
0

아래 코드는 내 코드이며,이 코드를 실행하면 무엇보다도 먼저 약 1 시간 동안 자유롭게 실행됩니다. 약 400MB RAM 및 1GB까지 올라갑니다.) 그러나 1 시간 정도 지나면 VSHOST가 충돌하고 Visual Studio에서 예외를 발견하지 못합니다. 왜 이런 일이 발생하는지 알고 싶습니다. TNX : HTML 페이지에있는 모든 요소 방법 browser_DocumentCompleted를 들어WebBrowser (WinForms) 컨트롤이있는 C# app이 잠시 후 vshost를 충돌시킵니다.

private void UpdateLastPosted() 
    { 
     WebClient wc = new WebClient(); 
     string html = wc.DownloadString("http://blogs.com/lastblogs.aspx"); 
     MatchCollection collection = Regex.Matches(html, @"blogs\.com/blogread\.asp\?blog=(\d+)"); 
     foreach (Match pend in collection) 
     { 
      pending.Enqueue(pend.Groups[1].Value); 
     } 
    } 

    private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     if (((WebBrowser)sender).ReadyState == WebBrowserReadyState.Complete) 
     { 
      if (pending.Count > 0) 
      { 
       ((WebBrowser)sender).Stop(); 
       NavigateTo("http://blogs.com/blogread.asp?blog=" + pending.Dequeue()); 
      } 
      else 
      { 
       UpdateLastPosted(); 
       UpdateMostActive(); 
       if (pending.Count > 0) 
       { 
        ((WebBrowser)sender).Stop(); 
        NavigateTo("http://blogs.com/blogread.asp?blog=" + pending.Dequeue()); 
       } 
      } 
     } 
    } 

    public void NavigateTo(string url) 
    { 
     browser.Navigate(url); 
    } 

답변

-1

가 호출됩니다. 정확하거나 유사한 URL을 지정하십시오.

private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     if(e.Url.OriginalString.ToLower() == "http://www.myisite.com/contact.aspx") 
     { 
      ...... 
관련 문제