Рекомендации по 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.