IT story

HttpClient는 동시에 사용하는 것이 안전합니까?

hot-time 2020. 6. 14. 09:49
반응형

HttpClient는 동시에 사용하는 것이 안전합니까?


의 사용법을 찾을 수있는 모든 예제 HttpClient에서 한 번의 오프 콜에 사용됩니다. 그러나 여러 클라이언트가 동시에 요청할 수있는 지속적인 클라이언트 상황이 발생하면 어떻게해야합니까? 기본적으로 client.PostAsync동일한 인스턴스에 대해 한 번에 2 개의 스레드 를 호출 하는 것이 안전합니다 HttpClient.

나는 실제로 실험 결과를 찾고 있지 않습니다. 실제 예제는 단순히 fluke (그리고 그에 대한 지속적인 것) 일 수 있으며 실패한 예제는 잘못된 구성 문제 일 수 있습니다. 이상적으로는 HttpClient의 동시성 처리 문제에 대한 권위있는 답변을 찾고 있습니다.


MSDN에 따르면 .NET 4.5부터 다음 인스턴스 메소드 는 스레드 안전합니다 (@ischell 덕분에).

CancelPendingRequests
DeleteAsync
GetAsync
GetByteArrayAsync
GetStreamAsync
GetStringAsync
PostAsync
PutAsync
SendAsync

다음은 Henrik F. Nielsen의 HttpClient에 대한 다른 기사 입니다.

" 기본 HttpClient는 가장 간단한 방법으로 요청 전송을 시작할 수 있습니다 . 단일 HttpClient를 사용하여 원하는만큼 많은 HTTP 요청을 보낼 수 있으므로 많은 시나리오에서 하나의 HttpClient를 만든 다음 모든 요청에 ​​사용할 수 있습니다. . "


Henrik F. Nielsen (HttpClient의 주요 아키텍트 중 하나)이 MSDN 포럼 게시물찾았 습니다 .

빠른 요약 :

  • 관련이 있거나 서로 밟지 않는 요청이 있으면 동일한 HttpClient를 사용하는 것이 좋습니다.
  • 일반적으로 가능한 한 HttpClient 인스턴스를 재사용하는 것이 좋습니다.

참고 URL : https://stackoverflow.com/questions/11178220/is-httpclient-safe-to-use-concurrently

반응형