获取客户端的IP地址在ASP.NET MVC中的方法是什么?
P粉232409069
P粉232409069 2023-10-14 09:01:56
[PHP讨论组]

我对 ASP.NET MVC 堆栈完全陌生,我想知道简单的 Page 对象和 Request ServerVariables 对象发生了什么?

基本上,我想提取客户端 PC 的 IP 地址,但我无法理解当前的 MVC 结构如何改变这一切。

据我所知,大多数变量对象已被 HttpRequest 变体取代。

有人愿意分享一些资源吗? ASP.NET MVC 世界里确实有海量的东西需要学习。 :)

例如,我有一个具有当前函数的静态类。如何使用 ASP.NET MVC 获得相同的结果?

public static int getCountry(Page page)
{
    return getCountryFromIP(getIPAddress(page));
}

public static string getIPAddress(Page page)
{
    string szRemoteAddr = page.Request.ServerVariables["REMOTE_ADDR"];
    string szXForwardedFor = page.Request.ServerVariables["X_FORWARDED_FOR"];
    string szIP = "";

    if (szXForwardedFor == null)
    {
        szIP = szRemoteAddr;
    }
    else
    {
        szIP = szXForwardedFor;

        if (szIP.IndexOf(",") > 0)
        {
            string [] arIPs = szIP.Split(',');

            foreach (string item in arIPs)
            {
                if (!isPrivateIP(item))
                {
                    return item;
                }
            }
        }
    }
    return szIP;
}

如何从控制器页面调用此函数?

P粉232409069
P粉232409069

全部回复(1)
P粉826283529

Request.ServerVariables["REMOTE_ADDR"] 应该可以工作 - 直接在视图中或在控制器操作方法主体中(Request 是 MVC 中 Controller 类的属性,而不是 Page)。 p>

它正在工作..但您必须在真实的​​ IIS 而不是虚拟的 IIS 上发布。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号