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

本文共 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

你可能感兴趣的文章
谈谈PHP网站的防SQL注入
查看>>
解析Java中静态变量与实例变量的区别
查看>>
java基础(三)-----java的三大特性之多态
查看>>
ASP.NET状态管理之五(查询字苻串QueryString)
查看>>
zookeeper api和zkclient api使用
查看>>
编写一个带有main函数的类,调用上面的汽车类,实例化奔驰、大众、丰田等不同品牌和型号,模拟开车过程:启动、加速、转弯、刹车、息火,实时显示速度。...
查看>>
MVC框架中的值提供机制(二)
查看>>
json字符串使用注意问题
查看>>
(二)Ribbon(负载均衡的客户端)+Rest
查看>>
清洗洗衣机
查看>>
springBoot中碰见的问题
查看>>
java基础
查看>>
人民的名义评论
查看>>
基于 CSS3 Media Queries 的 HTML5 应用
查看>>
表单的理解
查看>>
linux下yum安装指定的mysql版本
查看>>
In与Exists的区别
查看>>
Digit Counting, ACM/ICPC Danang 2007, UVa 1225
查看>>
两种思路实现单页面路由的功能
查看>>
iframe自适应高度和宽度
查看>>