【问题标题】:How to detect visitor country如何检测访客国家
【发布时间】:2013-07-11 08:10:10
【问题描述】:

为了检测访问者国家/地区,我在许多论坛中看到了以下代码,但我无法让它工作。

modGlobal.ResolveCountry.ThreeLetterISORegionName

在我的本地机器上它正确地返回我的计算机区域设置区域,而它在生产服务器上总是返回美国。

我猜这是因为函数返回环境区域设置(即服务器区域设置),有人可以确认吗?如果属实,在 asp.net 中检测访问者国家/地区的最佳做法是什么?

【问题讨论】:

    标签: asp.net browser localization regional-settings


    【解决方案1】:

    试试这个

    Dictionary<string,string> objDic = new Dictionary<string,string>();
    
    foreach (CultureInfo ObjCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
    {
    RegionInfo objRegionInfo = new RegionInfo(ObjCultureInfo.Name);
    if (!objDic.ContainsKey(objRegionInfo.EnglishName))
      {
          objDic.Add(objRegionInfo.EnglishName, objRegionInfo.TwoLetterISORegionName.ToLower());
      }
    }
    
    var obj = objDic.OrderBy(p => p.Key );
    foreach (KeyValuePair<string,string> val in obj)
    {
      ddlCountries.Items.Add(new ListItem(val.Key, val.Value));
    }
    

    EnglishName 将返回国家/地区名称

    来自IPsee

    【讨论】:

      【解决方案2】:

      尝试从访问者那里获取 ip 并从中查找跟踪数据

      也许看看这个:How to get visitor location ( country, state and city ) using ASP.NET

      【讨论】:

        猜你喜欢
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-10
        • 2013-01-03
        • 1970-01-01
        • 1970-01-01
        • 2018-06-24
        相关资源
        最近更新 更多