博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webAPI获得链接客户端IP地址
阅读量:5213 次
发布时间:2019-06-14

本文共 1561 字,大约阅读时间需要 5 分钟。

public static class HttpRequestMessageExtensions    {        private const string HttpContext = "MS_HttpContext";        private const string RemoteEndpointMessage =            "System.ServiceModel.Channels.RemoteEndpointMessageProperty";        private const string OwinContext = "MS_OwinContext";        public static string GetClientIpAddress(this HttpRequestMessage request)        {            // Web-hosting. Needs reference to System.Web.dll            if (request.Properties.ContainsKey(HttpContext))            {                dynamic ctx = request.Properties[HttpContext];                if (ctx != null)                {                    return ctx.Request.UserHostAddress;                }            }            // Self-hosting. Needs reference to System.ServiceModel.dll.             if (request.Properties.ContainsKey(RemoteEndpointMessage))            {                dynamic remoteEndpoint = request.Properties[RemoteEndpointMessage];                if (remoteEndpoint != null)                {                    return remoteEndpoint.Address;                }            }            // Self-hosting using Owin. Needs reference to Microsoft.Owin.dll.             if (request.Properties.ContainsKey(OwinContext))            {                dynamic owinContext = request.Properties[OwinContext];                if (owinContext != null)                {                    return owinContext.Request.RemoteIpAddress;                }            }            return null;        }    }

 

转载于:https://www.cnblogs.com/GarsonZhang/p/5576979.html

你可能感兴趣的文章
JS格式化时间
查看>>
算法练习(一:排序算法)
查看>>
安装nodejs
查看>>
MFC基于对话框风格按钮控件添加图片的方法(大神止步)
查看>>
python内存机制与垃圾回收、调优手段
查看>>
WayOs 帐号到期自动清理工具,致浪费在清理到期用户的青春
查看>>
小程序页面传值e.currentTarget
查看>>
Qt 4.7:QML Examples and Demos(转)
查看>>
SSH 配置详解
查看>>
Google Maps Premier Master Concept
查看>>
EF之POCO应用系列3——延迟加载
查看>>
Net Core环境开发与调试
查看>>
UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)(转)...
查看>>
Redis计算地理位置距离-GeoHash
查看>>
?c++重定义默认参数的问题
查看>>
lecture10-模型的结合与全贝叶斯学习
查看>>
搭建QT环境1
查看>>
win7 快捷键
查看>>
家电制造业中MES系统发挥的作用
查看>>
最简便的清空memcache的方法
查看>>