2011-07-27 6 views
0

약 20 개의 내부 및 외부 웹 사이트의 상태를 확인하여 오류가 언제 반환되는지 확인하려면 다음 코드를 사용합니다. 최근에는 16 개 사이트에서 15 개 사이트가 실행되며, 여기에 계속 머물러 있습니다. 문제가있는 웹 사이트를 열려고하면로드가 계속되고 끝나지 않습니다. 몇 분 기다렸다가 작동 할 수도 있습니다.웹 사이트 상태를 확인할 때 웹 사이트가 응답하지 않고 무작위로로드됩니다.

요청이 너무 많습니까?

내 코드가 웹 사이트를 응답하지 않게합니까?

웹 사이트의 상태 코드를 얻는 더 좋은 방법이 있습니까?

private int getWebRequestValue(string website) 
{ 
    try { 
     WebRequest request = WebRequest.Create(website); 
     using (WebResponse response = request.GetResponse()) { 
      HttpWebResponse httpResponse = (HttpWebResponse)response; 
      return httpResponse.StatusCode; 
     } 
    } catch (WebException e) { 
     using (WebResponse response = e.Response) { 
      if (response == null) { 
       return 1; 
      } else { 
       HttpWebResponse httpResponse = (HttpWebResponse)response; 
       return httpResponse.StatusCode; 
      } 
     } 
    } 
} 

참고

내 응용 프로그램을 실행하는 동안 나는 웹 사이트가 로딩되지 않는 것을 볼 수 있습니다 피들러를 사용하면 웹 사이트 모니터링을

UPDATE 을 수행하는 회사를 사용할 수 없습니다

302 상태 코드를 얻고 있습니다

+0

항상 같은 웹 사이트입니까? –

+0

@chris 오늘은 오늘 인 것 같지만, 오늘 전에는이 문제가 없었습니다. – guanome

+0

걸려있는 웹 사이트에 대해 더 많이 알지 못하면 말하기가 다소 어렵습니다. 웹 사이트를 디버그 모드로 실행 한 다음 웹 요청을 실행할 수 있습니까? –

답변

0

귀하의 코드로 인해 웹 사이트가 멈추는 것을 보지 못합니다. 또한 이것은 상태 코드를 얻는 좋은 방법 인 것 같습니다. 당신이해야 할 일은 웹 요청에 타임 아웃 (예 : 30 초)을 추가하는 것입니다. WebRequest.Timeout은 속성, 자세한 정보 @http://msdn.microsoft.com/en-us/library/system.net.webrequest.timeout.aspx입니다.