0

我有一个在 IIS 10 上使用 .net core 3.1 的 Web 应用程序。我设置了主域,并且有 3 个解析为主域名的别名域。对于我的应用程序,我想知道用户用于访问该站点的域。

我怎么能确定呢?任何能让我指出正确方向的帮助都会很棒。

谢谢!

4

1 回答 1

2

如果我理解正确,别名域只是一个附加域,它指向与您的主域相同的服务器,所以您没有被重定向到主域?即地址栏仍然显示用户用于访问您的站点的 URL。在这种情况下,它应该像从当前 URL 中读取主机名一样简单。您可以通过 获取该信息IHttpContextAccessor

第一步,在startup.cs文件中注册为服务

services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

第 2 步,通过 DI 使您的控制器依赖它:

private readonly IHttpContextAccessor _httpContextAccessor;
public YourController(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}

第 3 步,从 httpContextAccessor 读取信息:

string domain = _httpContextAccessor.HttpContext.Request.Host.Value;
于 2020-08-30T21:12:40.713 回答