Bewährte Methoden für System.Net-KlassenBest Practices for System.Net Classes

Mit den folgenden Empfehlungen können Sie die in System.Net enthaltenen Klassen bestmöglich verwenden:The following recommendations will help you use the classes contained in System.Net to their best advantage:

  • Bewährte Methoden für Transport Layer Security (TLS) finden Sie unter Bewährte Methoden für Transport Layer Security (TLS) mit .NET Framework.For Transport Layer Security (TLS) best practices, see Transport Layer Security (TLS) best practices with .NET Framework.

  • Verwenden Sie nach Möglichkeit WebRequest und WebResponse anstelle der Typumwandlung in abgeleiteten Klassen.Use WebRequest and WebResponse whenever possible instead of type casting to descendant classes. Anwendungen, die WebRequest und WebResponse verwenden, profitieren von neuen Internetprotokollen ohne umfangreiche Codeänderungen.Applications that use WebRequest and WebResponse can take advantage of new Internet protocols without needing extensive code changes.

  • Beim Schreiben von ASP.NET-Anwendungen, die auf einem Server mit den System.Net-Klassen ausgeführt werden, ist es leistungstechnisch gesehen häufig besser, asynchrone Methoden für GetResponse und GetResponseStream zu verwenden.When writing ASP.NET applications that run on a server using the System.Net classes, it is often better, from a performance standpoint, to use the asynchronous methods for GetResponse and GetResponseStream.

  • Die Anzahl der offenen Verbindungen einer Internetressource haben einen erheblichen Einfluss auf die Netzwerkleistung und den Durchsatz.The number of connections opened to an Internet resource can have a significant impact on network performance and throughput. System.Net verwendet standardmäßig zwei Verbindungen pro Anwendung und pro Host.System.Net uses two connections per application per host by default. Das Festlegen der ConnectionLimit-Eigenschaft in ServicePoint für Ihre Anwendung kann diese Zahl für einen bestimmten Host erhöhen.Setting the ConnectionLimit property in the ServicePoint for your application can increase this number for a particular host. Das Festlegen der ServicePointManager.DefaultPersistentConnectionLimit-Eigenschaft kann diese Standardeinstellung für alle Hosts erhöhen.Setting the ServicePointManager.DefaultPersistentConnectionLimit property can increase this default for all hosts.

  • Beim Schreiben von Protokollen auf Socketebene versuchen Sie nach Möglichkeit TcpClient oder UdpClient zu verwenden, anstatt direkt Socket zu schreiben.When writing socket-level protocols, try to use TcpClient or UdpClient whenever possible instead of writing directly to a Socket. Diese zwei Clientklassen kapseln die Erstellung von TCP- und UDP-Sockets, ohne dass Sie die Details der Verbindung behandeln.These two client classes encapsulate the creation of TCP and UDP sockets without requiring you to handle the details of the connection.

  • 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.When accessing sites that require credentials, use the CredentialCache class to create a cache of credentials rather than supplying them with every request. 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.The CredentialCache class searches the cache to find the appropriate credential to present with a request, relieving you of the responsibility of creating and presenting credentials based on the URL.

Siehe auchSee also