Подтвердить что ты не робот

Почему существует пространство имен System.Net.Http и System.Web.Http?

Просто вопрос, когда я изучаю различные библиотеки классов, доступные в .NET. Я заметил, что существует пространство имен System.Net.Http и пространство имен System.Web.Http.

  • Какую цель выполняют обе пространства имен?
  • Каковы были мотивы создания двух, казалось бы, двусмысленных пространств имен?
  • Есть ли какая-нибудь история, о которой я должен знать, или это одно из пространств имен "устарело"?

System.Net.Http, System.Web.Http

4b9b3361

Ответ 1

System.Net.Http относится к сетевому программированию, в то время как System.Web.Http относится конкретно к программированию для Интернета.

Ответ 2

System.Net.Http предназначен для клиентского HTTP-программирования. System.Web.Http предназначен для HTTP-программирования на стороне сервера.

Ответ 3

По моему опыту, разделение между двумя пространствами имен становится ясным, когда вы смотрите на разницу между самообслуживаемыми услугами webapi и IIS. Для самообслуживания требуется только System.Http, в то время как для служб IIS нужны оба. См. Разница между "MapHttpRoute" и "MapRoute" для аналогичного обсуждения и полезных ссылок.

Итак, причина состоит в том, что вы можете создать самостоятельную веб-службу, которая не зависит от всего стека ASP.NET.

Ни один из них не устарел.

Я не видел официального объяснения Microsoft для этого, но это лучшее, что я смог найти.