如何解决域别名-如何确定.net Core 3.1中使用了哪个别名?
我有一个在IIS 10上使用.net core 3.1的Web应用程序,我设置了我的主域,并且有3个别名域解析为该主域名。对于我的应用程序,我想知道用户用来访问该站点的域。
我该如何确定?任何帮助我指出正确方向的帮助都会很棒。
谢谢!
解决方法
如果我正确理解这一点,则别名域只是与您的主域指向同一服务器的另一个域,因此您是否没有被重定向到主域?也就是说,地址栏仍显示用户用来访问您的网站的URL。在这种情况下,它应该与从当前URL读取主机名一样容易。您可以通过IHttpContextAccessor
获取该信息。
第1步,将其注册为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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。