为了检测访问者国家/地区,我在许多论坛中看到了以下代码,但我无法让它工作。
modGlobal.ResolveCountry.ThreeLetterISORegionName
在我的本地机器上,它正确地返回我的计算机区域设置区域,而在生产服务器上它总是返回美国。
我猜这是因为函数返回环境区域设置(即服务器区域设置),有人可以确认吗?如果属实,在 asp.net 中检测访问者国家/地区的最佳做法是什么?
为了检测访问者国家/地区,我在许多论坛中看到了以下代码,但我无法让它工作。
modGlobal.ResolveCountry.ThreeLetterISORegionName
在我的本地机器上,它正确地返回我的计算机区域设置区域,而在生产服务器上它总是返回美国。
我猜这是因为函数返回环境区域设置(即服务器区域设置),有人可以确认吗?如果属实,在 asp.net 中检测访问者国家/地区的最佳做法是什么?
尝试这个
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
将返回国家名称
从IP看
尝试从访问者那里获取 ip 并从中查找跟踪数据
也许看看这个:How to get visitor location (country, state and city) using ASP.NET