在我们的 MultiTenant ASP.NET Core 2.2 应用程序中,我们根据 URI 确定租户。
如何从 IHostedService 获取网站 URL?HttpContext 始终为空。
IHttpContextAccessor.HttpContext 始终为 NULL
public MyHostedService(ILogger<TurnTimeTask> logger,
IHttpContextAccessor httpContextAccessor)
{
_logger = logger;
_httpContextAccessor = httpContextAccessor;
}
即使在 Scope 中运行 IHostedService 也会为 httpContextAccessor.HttpContext 返回 NULL,即通过 Scoped Service 注入它也不起作用。
public override Task ProcessInScope(IServiceProvider serviceProvider)
{
var request = _httpContextAccessor?.HttpContext?.Request;
//request is always null
}
有没有其他方法可以从 IHostedService 获取网站的 URL?