Freigeben über


Bewährte Methoden für System.Net-Klassen

Mit den folgenden Empfehlungen können Sie die in System.Net enthaltenen Klassen bestmöglich verwenden:

  • Bewährte Methoden für Transport Layer Security (TLS) finden Sie unter Bewährte Methoden für Transport Layer Security (TLS) mit .NET Framework.

  • Verwenden Sie zum Senden von HTTP-Anforderungen HttpClient anstelle von WebRequest, das in .NET 6 als veraltet eingestuft wurde. Erstellen Sie in .NET Framework jedes Mal eine neue HttpClient-Instanz, wenn Sie eine Anforderung senden müssen. (Die Anleitung für .NET 5+/.NET Core ist differenzierter. Weitere Informationen finden Sie unter Richtlinien für die Verwendung von HttpClient.)

  • Beim Schreiben von ASP.NET-Anwendungen, die auf einem Server mit den System.Net-Klassen ausgeführt werden, ist es aus Leistungsgründen oft besser, anstelle von Send die asynchrone Methode SendAsync zu verwenden.

  • Die Anzahl der offenen Verbindungen einer Internetressource hat erheblichen Einfluss auf die Netzwerkleistung und den Durchsatz. System.Net verwendet standardmäßig zwei Verbindungen pro Anwendung und pro Host. Das Festlegen der ConnectionLimit-Eigenschaft in ServicePoint für Ihre Anwendung kann diese Zahl für einen bestimmten Host erhöhen. Das Festlegen der ServicePointManager.DefaultPersistentConnectionLimit-Eigenschaft kann diese Standardeinstellung für alle Hosts erhöhen.

  • Beim Schreiben von Protokollen auf Socketebene versuchen Sie nach Möglichkeit TcpClient oder UdpClient zu verwenden, anstatt direkt Socket zu schreiben. Diese zwei Clientklassen kapseln die Erstellung von TCP- und UDP-Sockets, ohne dass Sie die Details der Verbindung behandeln.

  • Verwenden Sie beim Zugriff auf Websites, die Anmeldeinformationen erfordern, die CredentialCache-Klasse zum Erstellen eines Zwischenspeichers für Anmeldeinformationen, anstatt sie mit jeder Anforderung bereitzustellen. Die CredentialCache-Klasse durchsucht den Zwischenspeicher nach den entsprechenden Anmeldeinformationen für eine Anforderung, sodass Sie keine Verantwortung für das Erstellen und Bereitstellen von Anmeldeinformationen auf Basis der URL haben.

Siehe auch