다음을 통해 공유


System.Net 클래스에 대한 모범 사례

다음 권장 사항은 System.Net에 포함된 클래스를 최대한 활용할 수 있도록 돕습니다.

  • TLS(전송 계층 보안) 모범 사례는 .NET Framework를 사용한 TLS(전송 계층 보안) 모범 사례를 참조하세요.

  • .NET 6에서 HttpClient가 사용되지 않으므로 WebRequest를 사용하여 HTTP 요청을 보내십시오. .NET Framework에서 요청을 보내야 할 때마다 새 HttpClient 인스턴스를 만듭니다. (.NET 5+/.NET Core에 대한 지침은 더 미묘합니다. 자세한 내용은 HttpClient 사용에 대한 지침을 참조하세요.)

  • 클래스를 사용하여 System.Net 서버에서 실행되는 ASP.NET 애플리케이션을 작성할 때 성능 관점에서 대신 비동기 메서드 SendAsyncSend를 사용하는 것이 더 좋은 경우가 많습니다.

  • 인터넷 리소스에 대해 열린 연결 수는 네트워크 성능 및 처리량에 큰 영향을 미칠 수 있습니다. System.Net 기본적으로 호스트당 애플리케이션당 두 개의 연결을 사용합니다. 애플리케이션에 ConnectionLimitServicePoint 대한 속성을 설정하면 특정 호스트에 대해 이 수를 늘릴 수 있습니다. 속성을 설정하면 ServicePointManager.DefaultPersistentConnectionLimit 모든 호스트에 대해 이 기본값이 증가할 수 있습니다.

  • 소켓 수준 프로토콜을 작성할 때는 가능하면 TcpClient 또는 UdpClient을(를) 사용하고 Socket에 직접 작성하는 것을 피하세요. 이러한 두 클라이언트 클래스는 연결의 세부 정보를 처리할 필요 없이 TCP 및 UDP 소켓 생성을 캡슐화합니다.

  • 자격 증명이 필요한 사이트에 액세스할 때 클래스를 CredentialCache 사용하여 모든 요청을 제공하는 대신 자격 증명 캐시를 만듭니다. CredentialCache 클래스는 캐시를 검색하여 요청과 함께 표시할 적절한 자격 증명을 찾아 URL을 기반으로 자격 증명을 만들고 제시하는 책임을 완화합니다.

참고하십시오