우리는 자동으로 생성되어 웹 서버에 저장되는 텍스트 파일을 가지고 있습니다. 작업은 파일을 한 줄씩 읽고 데이터베이스에 레코드를 삽입하는 것입니다. 다음 코드는 C#으로이다 :WebRequest 대 WebClient를 사용할 때 다른 결과
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
StreamReader r = new StreamReader(response.GetResponseStream());
while (r.Peek() > -1)
{
string s = r.ReadLine().Trim();
//insert string into a db.
}
나는이 작업을 수행 할 때 나는 항상 9000에서 범위를 전체 파일 수 - 10000 선. 반면에 나는 내가 잘린 파일 (이하 선)
이 WebClient client = new WebClient();
StreamReader r = new StreamReader(client.OpenRead(url));
while (r.Peek() > -1)
{
string s = r.ReadLine().Trim();
//insert string into a db.
}
사람이 차이를 설명 할 수를 얻을 수 때때로 다음 사용하면? 결과가 다른 이유는 무엇입니까? 나는 WebClient가 HttpWebRequest의 래퍼 였을 것이라는 인상을 받았다.
WebClient OpenRead 메서드는 WebRequest를 둘러싼 래퍼입니다. 실제로 게시 한 WebRequest 코드와 거의 동일하게 보입니다. ILSpy에서 WebCLient를 확인하여 확인했습니다. 문제가 다른 곳에 있다고 생각합니다. 디버깅하고 당신이 읽고있는 라인이 당신이 기대하는 라인인지 확인할 수 있습니까? – rtalbot