.net - 如何在 .NET Core 2.1 中获取 API 调用者详细信息?
解决方案
根据您的描述,我建议您可以使用 httpcontextaccessor 的 httprequest 上下文来获取客户端信息。
如果你想在你的控制器中使用它,你应该首先注册 startup.cs。
public void ConfigureServices(IServiceCollection services)
{
services.AddHttpContextAccessor();
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "CoreAPINormalIssue", Version = "v1" });
});
}
然后在控制器内部,您应该使用以下代码:
private readonly IHttpContextAccessor _httpContextAccessor;
public WeatherForecastController(ILogger<WeatherForecastController> logger, IHttpContextAccessor httpContextAccessor)
{
_logger = logger;
_httpContextAccessor = httpContextAccessor;
}
然后在控制器内部:
// Get the client IP address.
var re = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress;
更多细节,你可以参考这篇文章。
推荐阅读
- asp.net-mvc - 在用户帐户 ADFS 之间切换
- android - 当我启动我的应用程序然后它崩溃
- c - 如何判断stdout是否支持ANSI转义码
- django - 如何从我的媒体根文件夹下载文件到我的手机或电脑
- c# - c# socket 按下按钮发送
- c++ - 尽管包含安全数组,为什么我的变体仍显示为 VT_EMPTY
- flutter - 将令牌附加到传出的 Http 请求,但找不到页面
- javascript - 在一个查询中使用不同的列名连接表
- maven - 为 IntelliJ 中的远程调试配置默认命令行参数
- javascript - 我无法使用 jstree 从 ajax 读取数据