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
'IT story' 카테고리의 다른 글
반응 네이티브로 Android 앱을 만들 수 있습니까? (0) | 2020.06.14 |
---|---|
.snk는 무엇입니까? (0) | 2020.06.14 |
Eclipse에서 가장 최근에 시작한 프로그램을 다시 실행하는 바로 가기가 있습니까? (0) | 2020.06.14 |
MySQL의 기존 열에 null이 아닌 제약 조건을 추가하는 방법 (0) | 2020.06.14 |
XHTML에서 중첩 된 스팬 태그가 정상입니까? (0) | 2020.06.14 |