c# - 如何使用 Web Api2 .NET FRAMEWORK 4.6.2 获取客户端 IP 地址
问题描述
我想使用 asp.net web api2 应用程序获取客户端 IP 地址。
我尝试这段代码,但 request = request ?? 要求; 错误此行代码。
当前上下文中不存在名称“请求”
public class GetIp
{
public string IpFetch()
{
return GetClientIp();
}
private string GetClientIp(HttpRequestMessage request = null)
{
request = request ?? Request;
if (request.Properties.ContainsKey("MS_HttpContext"))
{
return ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
}
else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
RemoteEndpointMessageProperty prop = (RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name];
return prop.Address;
}
else if (HttpContext.Current != null)
{
return HttpContext.Current.Request.UserHostAddress;
}
else
{
return null;
}
}
}
如何获取客户端IP地址?
解决方案
推荐阅读
- git - 如何在一个具有目录而另一个具有相同名称和路径的子模块时在 git 分支之间结帐?
- three.js - 在 Threejs 中移动骨骼时旋转 3d 模型
- java - 保存不适用于 @OneToMany - 在子元素中嵌入复合 ID
- javascript - 3d条形图的D3.js“成长”路径动画
- localhost - 如何摆脱 Vaadin 后备页面?
- java - 下面代码中的 onClickListenerObj 字段的数据类型是什么?
- kotlin - 在“runBlocking”中运行时等待的 Kotlin 结果失败并出现异常
- python - 模块内的 pytest 测试执行顺序是相反的。我该如何正确设置?
- selenium - 在构建詹金斯工作之前构建一个依赖的詹金斯工作并复制工件
- node.js - 如何找到discord.js中的await消息功能收集的消息附件的url?