我想在我的控制器上获取我的主机地址,类型为 POST。请检查下面的控制器示例。请注意我使用的是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()
}
Run Code Online (Sandbox Code Playgroud)
Tan*_*jel 21
尝试这个:
在控制器中:
string myHostUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}";
Run Code Online (Sandbox Code Playgroud)
控制器外:
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}";
}
}
Run Code Online (Sandbox Code Playgroud)
然后IHttpContextAccessor在Startup类中注册如下:
public void ConfigureServices(IServiceCollection services)
{
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
// Or you can also register as follows
services.AddHttpContextAccessor();
}
Run Code Online (Sandbox Code Playgroud)
您可以通过访问请求获得
string myurl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8581 次 |
| 最近记录: |