Práticas recomendadas para classes System.Net

As seguintes recomendações ajudarão você a usar as classes contidas em System.Net para seu melhor proveito:

  • Para obter as melhores práticas do protocolo TLS, confira Melhores práticas do protocolo TLS com o .NET Framework.

  • Use HttpClient para enviar solicitações HTTP em vez de WebRequest, que ficou obsoleto no .NET 6. No .NET Framework, crie uma instância de HttpClient sempre que precisar enviar uma solicitação. (As diretrizes para .NET 5+/.NET Core são mais detalhadas. Para obter mais informações, confira Diretrizes para usar HttpClient).

  • Ao criar aplicativos ASP.NET executados em um servidor usando as classes System.Net, do ponto de vista do desempenho é melhor usar o método assíncrono SendAsync em vez de Send.

  • O número de conexões abertas para um recurso da Internet pode ter um impacto significativo no desempenho da rede e na taxa de transferência. System.Net usa duas conexões por aplicativo e host, por padrão. A configuração da propriedade ConnectionLimit no ServicePoint para o aplicativo pode aumentar esse número para um host específico. A configuração da propriedade ServicePointManager.DefaultPersistentConnectionLimit pode aumentar esse padrão para todos os hosts.

  • Ao gravar protocolos no nível do soquete, tente usar TcpClient ou UdpClient sempre que possível, em vez de gravar diretamente em um Socket. Essas duas classes de cliente encapsulam a criação de soquetes TCP e UDP sem a necessidade de lidar com os detalhes da conexão.

  • Ao acessar sites que exigem credenciais, use a classe CredentialCache para criar um cache de credenciais, em vez de fornecê-las com cada solicitação. A classe CredentialCache procura o cache para localizar as credenciais apropriadas a serem apresentadas com uma solicitação, liberando-o da responsabilidade de criar e apresentar credenciais baseadas na URL.

Confira também