以下建议将帮助你充分利用System.Net中所包含的类:
有关传输层安全性(TLS)最佳做法,请参阅 使用 .NET Framework 的传输层安全性(TLS)最佳做法。
请使用 HttpClient 来发送 HTTP 请求,而不是使用 WebRequest,后者在 .NET 6 中已被淘汰。 在 .NET Framework 中,每次需要发送请求时创建一个新
HttpClient
实例。 (.NET 5+/.NET Core 指南更微妙。有关详细信息,请参阅 使用 HttpClient 的准则。撰写在服务器上运行的 ASP.NET 应用程序时,使用
System.Net
类,从性能角度来看,通常使用异步方法SendAsync 要优于Send。打开到互联网资源的连接数量可能会对网络性能和吞吐量产生重大影响。 默认情况下,System.Net 每个主机为每个应用程序使用两个连接。 为应用程序在 ConnectionLimit 中设置 ServicePoint 属性,可为特定主机增加此连接数。 ServicePointManager.DefaultPersistentConnectionLimit设置属性可以增加所有主机的此默认值。
编写套接字级协议时,尽可能使用TcpClient或UdpClient,而不是直接写入Socket。 这两个客户端类封装了 TCP 和 UDP 套接字的创建,自动处理连接的详细信息,无需用户操心。
访问需要凭据的网站时,请使用 CredentialCache 类创建凭据缓存,而不是为每个请求提供凭据。 CredentialCache 类在缓存中搜索以查找相应的凭据来显示请求,从而减轻创建和呈现基于 URL 的凭据的责任。