2010-05-20 5 views
3

저는 현재 서버의 모든 파일을 통과하는 응용 프로그램을 개발 중이며 유효한 지 여부를 확인하기 위해 모든 단일 정보를 검사합니다. WebClient 또는 HttpWebRequest/HttpWebResponse를 사용하면 매번 전체 페이지를 다운로드하므로 쓸모가 없으므로 링크가 404를 반환하지 않는지 확인해야합니다.링크 테스트를위한 가장 효율적인 방법

가장 효율적인 방법은 무엇입니까? ? 소켓은 그것을하는 좋은 방법 인 것 같지만, 어떻게 작동하는지 잘 모르겠습니다.

전문 지식을 공유해 주셔서 감사합니다.

답변

4

가장 효율적인 방법은 HEAD 동사를 보내 대역폭을 보존하는 것입니다.

var request = WebRequest.Create("http://google.com/"); 
request.Method = "HEAD"; 
using (var response = (HttpWebResponse)request.GetResponse()) 
{ 
    if (response.StatusCode == HttpStatusCode.OK) 
    { 
     // 200 OK 
    } 
} 
+0

httpWebResponse 대신 var을 사용하는 이유는 무엇입니까? 예외가 반환 될 수 있습니까? –

+0

아니요,'var'이'HttpWebResponse'보다 짧기 때문입니다 :-) –

+0

불행히도, 이것은 여전히 ​​너무 느립니다. 다른 사람이 다른 대답을 가지고 있는지 알려주세요. –

관련 문제