Получить адрес хоста в ASP.NET Core MVC - PullRequest
0 голосов
/ 02 декабря 2018

Я хочу получить адрес моего хоста на моем контроллере, тип которого POST.Пожалуйста, проверьте ниже пример контроллера.Обратите внимание, что я использую ядро ​​asp.net 2.1

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult PasswordReset(ResetPassword data)
{
    string myurl = //how can i store http host address on this variable?
    return View()
}

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Вы можете получить, зайдя в Запрос

string myurl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}";
0 голосов
/ 02 декабря 2018

Попробуйте:

В контроллере:

string myHostUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}";

За пределами контроллера:

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}";
   }
}

А затем зарегистрируйте IHttpContextAccessor в классе запуска следующим образом:

public void ConfigureServices(IServiceCollection services)
{
    services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

    // Or you can also register as follows

    services.AddHttpContextAccessor();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...