2013-03-03 4 views
1
for (int i = 0; i < endurance/10; i++) { 
    log.Info("mining now : " + endurance/10 + " - " + i); 
    HttpWebRequest mineRequest = WebRequestUtil.CreateHttpWebRequest(Properties.Settings.Default.PAGE_URL + Properties.Settings.Default.MINING_URL); 

    string source = SourceParser.GetSource(mineRequest); // GETTING TIMED OUT HERE 
    string variable = GetHiddenVariableNumber(source); 

    Mine(variable); 
} 

1.1 허용 HttpWebRequest를 내 getSource와 방법 :은 세 번째 시도에서 시간 초과, 두 연결은 HTTP

public static string GetSource(WebRequest request) { 
    using (WebResponse response = request.GetResponse()) { 
     using (Stream stream = response.GetResponseStream()) { 
      using (StreamReader reader = new StreamReader(stream)) { 
       return reader.ReadToEnd(); 
      } 
     } 
    } 
} 

LOG :

2013-03-03 02:10:56,101 [13] INFO Bot.Game.Mining mining now : 10 - 0 
2013-03-03 02:10:57,053 [13] INFO Bot.Game.Mining mining now : 10 - 1 
2013-03-03 02:10:58,155 [13] INFO Bot.Game.Mining mining now : 10 - 2 // ends here 

어떤 제안이? 나는 그것에 대해 많이 읽고 일반적인 문제는 Stream 또는 WebResponse 개체를 처분하지 않는 것이었지만 나는 그것을하고있다.

답변

3

저는 이것이 ServicePoint의 문제 일 수 있다고 생각합니다. HTTP 연결에 대한 연결 관리를 제공합니다.

ServicePoint 개체에서 허용하는 최대 동시 연결 수는 2입니다. 따라서이 값을 늘려야하는 경우 ServicePointManager.DefaultConnectionLimit 속성을 사용할 수 있습니다.

+0

그래,하지만 그들은 결국 결국 내가 필요한 것은 어떻게 든 연결을 닫는 것이다. 그게 가능하니? – Jaanus

관련 문제