Procedimientos recomendados para las clases System.Net
Las siguientes recomendaciones le ayudarán a usar las clases incluidas en System.Net para su beneficio:
Para más información sobre los procedimientos recomendados sobre la Seguridad de la capa de transporte (TLS), vea Procedimientos recomendados sobre la seguridad de la capa de transporte (TLS) con .NET Framework.
Use HttpClient para enviar solicitudes HTTP en lugar de WebRequest, que estaba obsoleta en .NET 6. En .NET Framework, cree una nueva instancia de
HttpClient
cada vez que necesite enviar una solicitud. (Las instrucciones para .NET 5+/.NET Core son más matizadas. Para obtener más información, consulte Directrices para usar HttpClient).Al escribir aplicaciones ASP.NET que se ejecutan en un servidor mediante las clases
System.Net
, a menudo es mejor, desde la perspectiva del rendimiento, usar el método asincrónicos SendAsync en vez de Send.El número de conexiones abiertas a un recurso de Internet puede tener un impacto considerable en el rendimiento de red. System.Net usa dos conexiones por aplicación y por host de forma predeterminada. El establecimiento de la propiedad ConnectionLimit en el ServicePoint de la aplicación puede aumentar este número para un host determinado. El establecimiento de la propiedad ServicePointManager.DefaultPersistentConnectionLimit puede aumentar este valor predeterminado para todos los hosts.
Cuando escriba protocolos de nivel de socket, procure usar TcpClient o UdpClient siempre que sea posible en lugar de escribir directamente en un Socket. Estas dos clases de cliente encapsulan la creación de sockets TCP y UDP sin que sea necesario controlar los detalles de la conexión.
Al acceder a sitios que requieren credenciales, use la clase CredentialCache para crear una memoria caché de credenciales en lugar de proporcionarlas con cada solicitud. La clase CredentialCache busca en la memoria caché para encontrar la credencial adecuada que debe presentar con una solicitud, lo cual elimina la responsabilidad de crear y presentar credenciales según la dirección URL.