gpt4 book ai didi

c# - 你如何在 CaSTLe MVC (Monorail) 中获取用户的 IP 地址?

转载 作者:太空狗 更新时间:2023-10-30 00:28:29 26 4
gpt4 key购买 nike

在 CaSTLeMVC 应用程序的 Controller 操作中,如何获取用户的 IP 地址?

认为在 asp.net mvc 中它将是 Request.ServerVariables["REMOTE_ADDR"],但我在 CaSTLe 中找不到等效项。

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

最佳答案

CaSTLe Monorail 以及 ASP.NET MVC 是 ASP.NET 运行时上优雅的 MVC 皮肤。

因此,可以使用 ASP.NET 运行时完成的所有事情(除了 WebForms 特定的东西,如 ViewState)也可以使用 ASP.NET MVC 和 Monorail 完成。

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

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

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

例如在 Controller 的操作中:

var clientIP = Request.UserHostAddress;

关于c# - 你如何在 CaSTLe MVC (Monorail) 中获取用户的 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com