System.Net 類別的最佳做法

下列建議將協助您善加利用 System.Net 中所含的類別:

  • 如需傳輸層安全性 (TLS) 的最佳做法,請參閱 .NET Framework 的傳輸層安全性 (TLS) 最佳做法

  • 使用 HttpClient 而非 WebRequest 來傳送 HTTP 要求,其已在 .NET 6 中過時。 在 .NET Framework 中,每次您需要傳送要求時,建立新的 HttpClient 執行個體。 (.NET 5+/.NET Core 的指導方針比較細微。如需詳細資訊,請參閱使用 HttpClient 的指導方針。)

  • 使用 System.Net 類別撰寫在伺服器上執行的 ASP.NET 應用程式時,其效能通常會比使用非同步方法 SendAsync (而非 Send) 還要好。

  • 開啟至網際網路資源的連線數目,會對網路效能和輸送量造成明顯影響。 System.Net 預設會為每個主機的每個應用程式使用兩個連線。 在應用程式的 ServicePoint 中設定 ConnectionLimit 屬性,可能會針對特定主機增加這個數目。 設定 ServicePointManager.DefaultPersistentConnectionLimit 屬性可以為所有主機增加這個預設值。

  • 撰寫通訊端層級通訊協定時,請盡可能嘗試使用 TcpClientUdpClient,而不是直接寫入至 Socket。 這兩個用戶端類別會封裝 TCP 和 UDP 通訊端的建立,而不需要您處理連線的詳細資料。

  • 存取需要認證的網站時,請使用 CredentialCache 類別建立認證的快取,而不是每個要求都提供它們。 CredentialCache 類別會搜尋快取,以透過要求找到要呈現的適當認證,讓您不需要負責根據 URL 來建立和呈現認證。

另請參閱