Рекомендации по System.Net классам

В этом разделе приводятся рекомендации по наиболее эффективному использованию классов, содержащихся в System.Net:

  • Рекомендации по протоколу TLS см. в разделе Рекомендации по использованию протокола TLS с .NET Framework.

  • Используется 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.

См. также