我想在类型为POST的 Controller 上获取主机地址。请检查以下 Controller 示例。请注意,我正在使用asp.net core 2.1
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult PasswordReset(ResetPassword data)
{
string myurl = //how can i store http host address on this variable?
return View()
}
最佳答案
试试这个:
在 Controller 中:
string myHostUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}";
Controller 外部:
public class YourClass
{
private readonly IHttpContextAccessor _httpContextAccessor;
public YourClass(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public void YourMethod()
{
string myHostUrl = $"{_httpContextAccessor.HttpContext.Request.Scheme}://{_httpContextAccessor.HttpContext.Request.Host}";
}
}
然后在Startup类中注册
IHttpContextAccessor
,如下所示:public void ConfigureServices(IServiceCollection services)
{
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
// Or you can also register as follows
services.AddHttpContextAccessor();
}
关于c# - 在ASP.NET Core MVC中获取主机地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53577352/