Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : WebClient와 HttpClient 차이점에 대하여
글번호: 1035
작성자: 레드플러스
작성일: 2022/03/14 오후 4:40:00
조회수: 1789

안녕하세요.

 

결론적으로, HttpClient가 훨씬 뒤에 만들어져

성능 향상된 버전으로 알고 있습니다.

 

이와 비슷한 케이스가

System.Data.SqlClient의 SqlConnection, SqlCommand, ...

대신에

Microsoft.Data.SqlClient의 SqlConneciton, SqlCommand, ...

클래스가 훨씬 좋은 성능을 냅니다.

 

기존 시스템과의 호환성이 아니라면,

동일 기능을 한다면 나중에 만들어진 클래스를 사용하는 걸 권장합니다.

 

Microsoft Docs에서 권장 사항으로 문구가 되어 있다면,

바꿔서 사용하는것도 나쁘지 않습니다.

다만, 이전에 나온 책이라던가 시스템들은 그 시점에 맞는

클래스가 사용되었을 수도 있습니다.

하위 호환성만 아니라면, 최신 버전의 클래스가 좋겠죠^^

 

 

 

 

 


On 2022-03-14 오후 3:07:00, '김상태' wrote:

 

 


안녕하세요~ 선생님  또 놀러 왔습니다. ~ ^^;;

최근 업무자동화로 클롤링을 준비하게 되어 Seleninum으로 스터디 중에 클롤링 한 파일을 다운로드 할때 2개의 클래스의 차이점을 알고 싶어 문의 드립니다. 

1. WebClient 클래스와 HttpClient 차이점에 대하여 궁금 합니다. 

2. WebClient로 구현했을때 동기/비동기로 잘 다운로드 됩니다. 

using (WebClient client = new WebClient()) 
{
    client.DownloadFile(new Uri(url), @"c:\temp\image.jpg"); // 동기 
    client.DownloadFileAsync(new Uri(url), @"c:\temp\image.jpg");  // 비동기 
}

하지만 MS doc에 보면

https://docs.microsoft.com/ko-kr/dotnet/api/system.net.webclient?view=netframework-4.7.2

설명

 중요

새 개발에는 클래스를 사용 하지 않는 것이 좋습니다 WebClient . 대신는 System.Net.Http.HttpClient 클래스입니다.

라고 나오며 HttpClient를 권장하는 듯한 메시지가 있어 HttpClient를 사용하는 것이 좋은지?

서로 차이점이 무엇인지 궁금 합니다. 

3. HttpClient으로도 기본 비동기가 지원되어 구현하여 다운로드 하는데 문제는 없어 보입니다. 

단지 HttpClient이 좀더 세밀한 옵션과 바이트방식의 데이터 처리 등을 지원하는것 같습니다. 

그리고 System.IO.File로 파일을 작성해야 하는것 같습니다. 저는 이렇게 구현하긴 했지만...

 

제가 실시간 화상회의나 데이터 처리를 하는 것은 아니기에 무엇을 사용하든 상관 없지만 이번기회에 두 클래스의 차이점을 알고 싶습니다. ~ 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트
  shockpower
  2022-03-14 오전 10:10:21
최신버전의 클래스로 해봐야겠군요~
감사합니다. ~

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 Blazor 강의 듣고 있는 중인데, HTML 자동완성 부분만 안됩니다. - 김규일 2022-03-14 1470
  WebClient와 HttpClient 차이점에 대하여 - 김상태 2022-03-14 2351
현재글 Re : WebClient와 HttpClient 차이점에 대하여(1) - 레드플러스 2022-03-14 1789
다음글 model분리와 복수의 dbContext  관리 - 김준호 2022-03-03 1421
 
손님 사용자 Anonymous (손님)
로그인 Home