繁体   English   中英

你如何在Castle MVC(Monorail)中获得用户的IP地址?

[英]How do you get the User's IP Address in Castle MVC (Monorail)?

在CastleMVC应用程序的控制器操作中,如何获取用户的IP地址?

认为在asp.net mvc中它会是Request.ServerVariables["REMOTE_ADDR"] ,但我找不到Castle中的等价物。

(我知道潜在的代理问题等,请求中报告的地址很好)

Castle Monorail以及ASP.NET MVC作为ASP.NET运行时的优雅MVC外观。

因此,可以使用ASP.NET MVC和Monorail完成ASP.NET运行时可以完成的所有操作(除了像ViewState这样的WebForms特定内容)。

因此,您始终可以使用静态HttpContext.Current方法获取当前ASP.NET的HttpContext。

从Monorail,您还可以使用IEngineContext的.UnderlyingContext属性来访问ASP.NET HttpContext。

具体来说,在Monorail中,您可以使用当前IRequest上的便捷属性UserHostAddress获取客户端报告的IP。

例如在控制器的动作中:

var clientIP = Request.UserHostAddress;

我相信它:

HttpContext.Request.ServerVariables["REMOTE_ADDR"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM