Поделиться через


Лучшие практики для классов 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-адреса.

См. также