Когда имя хоста доступно в HttpContext.Request.Url.Host
, оно является результатом того, что имя хоста является частью запроса, отправленного клиентом. В качестве примера возьмем запрос на эту страницу:
GET /questions/2164261/get-host-name-without-using-httprequest HTTP/1.1
Host: stackoverflow.com
...
При работе в фоновом потоке контекст запроса недоступен, и на самом деле концепция имени хоста вообще отсутствует. Ваша единственная альтернатива - хранить имя хоста в коде или в конфигурации.
Немного не по теме: запуск запланированных задач в веб-приложении вызывает проблемы, а порождающие потоки имеют дело только с некоторыми из них. Если это вообще возможно, рассмотрите возможность запуска запланированных заданий из службы Windows, возможно построенной с использованием инфраструктуры, подобной NCron .