go here 당신이 그렇게 시간이 있다면 웹에서 이들을 찾기 위해 주시기 바랍니다. 한 가지 확실한 것은 서버에서 실제로 하나만 사용해야 한다는 것입니다. 이 위대한 게시물을 읽어주세요 이유를 알고 : https://blogs.msdn.microsoft.com/alazarev/2017/12/29/disposable-finalizers-and-httpclient/. 두 번째 경우는 불필요한 미완성 호출을 취소하는 것입니다. 예를 들어 사용자가 이 호출을 시작한 화면을 종료하거나 닫을 때의 경우입니다. 좋은 질문, 그것은 컨테이너 클래스에 따라 달라 집니다. 예를 들어 ASP.NET 시작 시가 아니라 요청당 클래스를 인스턴스화할 수 있습니다. 동시 요청을 발생 하는 두 클라이언트 동시에 단일 톤을 초기화할 수 있습니다. 그것은 총 가장자리 케이스하지만 명심 하나. 최악의 경우 사용하지 않기 때문에 시간 시간이 열리는 외부 소켓이 열립니다. .NET 프레임워크에는 분산 시스템을 빌드하는 도구 모음이 함께 제공됩니다. 분산 시스템에는 별도의 네트워크 컴퓨터의 구성 요소가 포함됩니다. 이러한 시스템은 HTTP 프로토콜을 통해 많은 양의 네트워크 채팅을 가질 수 있습니다.

예를 들어 HttpClient 클래스는 HTTP 끝점으로 호출하는 데 유용한 도구 중 하나입니다. 싱글톤 과 컨테이너 클래스를 모두 설정하려면 Program.cs 내에서 수행하거나 Startup.cs 수 있습니다. IoC 설정은 앱의 초기화가 진행되는 곳마다 갈 수 있으므로 예를 들어 몇 가지 생각: 정적 싱글톤의 새 인스턴스는 스레드 안전하지 않습니다. 이는 Microsoft의 BCL 팀에 의해 확인되었으며 MSDN 문서(https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netframework-4.7.2)에 문서화되어 있습니다. 정적 초기화를 사용하여 모든 이중 확인 잠금 및 `휘발성`을 방지할 수 있습니다. CLR은 정적 초기화를 스레드가 안전한것으로 보장합니다. 나는 높은 부하 “규모”응용 프로그램에서이 패턴을 여러 번 사용했습니다 – 주목할만한 클라이언트는 BlackFriday 😉 매우 활동적인 온라인 소매 업체였습니다 https://docs.microsoft.com/en-us/dotnet/api/system.net.http.ihttpclientfactory?view=aspnetcore-2.1 정적 HttpClient를 사용하려는 경우 SO : https://stackoverflow.com/questions/22560971/what-is-the-overhead-of-creating-a-new-httpclient-per-call-in-a-webapi-client/35045301#35045301 내 대답을 볼 수 있습니다. MS의 BCL 팀과 스레드 안전에 대해 이야기했으며 9 개의 `xxxAsync`메서드는 모두 스레드 가 안전합니다. 또한 그들의 문서에서 이것을 볼 수 있습니다 (약 1/4 방법 아래 페이지): https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netframework-4.7.2 Nope. 그들은 그들이에있는 클래스의 첫 번째 액세스시 초기화됩니다. 예를 들어 두 번째 예제에서는 호출이 수행될 때 초기화됩니다: StaticSingleton.SendRequestToEndpoint) 예를 들어 다른 끝점에 대해 이야기하는 더 많은 클래스를 만들려는 경우 각 끝점에 대해 정적 싱글톤을 만들어야 할 수 있습니다.

follow url 컨테이너 클래스. 이는 정적 싱글톤을 컨테이너 클래스에 단단히 결합하는 직접적인 결과입니다. 그림과 같이 HttpClient 클래스의 모든 새 인스턴스는 새 포트 번호로 새 소켓을 엽니다. 로드 시 이 샘플 코드를 실행하는 웹 서버는 소켓이 부족하여 연결이 끊어지기 시작합니다. 예를 들어 마이크로 서비스 전략에서는 상자당 더 많은 서비스 열기 소켓이 있기 때문에 재해가 될 수 있습니다. 쿠키를 사용하는 방법을 보여주는 모든 예제가 처리기에 연결하는 공식 API 진입점을 통해 쿠키를 사용하는 방법을 보여 주므로 (동일한 쿠키 항아리가 여러 요청에서 공유되므로) 개발자의 99 %가 정확히 그렇게할 것입니다. HttpClient 클래스는 IDisposable 인터페이스를 구현합니다.