很抱歉,这可能会有点模糊,但是如何根据网站的打开位置显示组织的不同徽标。例如,该组织希望在南非开设该网站时显示其南非官方标识,并在肯尼亚或加纳开设另一个官方标识。
网站是否只需托管在多台服务器上......无法想到其他任何可能的方式?
答案 0 :(得分:2)
首先找到国家/地区,找到Ipaddress
string Ipaddress= HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
使用IP地址,您可以找到如下位置
using (var wc = new WebClient())
{
string output = wc.DownloadString(String.Format("http://api.hostip.info/?ip={0}&position=true", ipaddress));
}
输出为XML格式,它将包含countryName标记
答案 1 :(得分:1)
我会将此作为评论。因为,我没有足够的声誉,我发帖作为答案。
此链接可用于检测国家/地区,并根据逻辑中的国家/地区更改徽标。
Detect/estimate country of a http-request in ASP.NET
添加链接的内容,因为链接可能会过期。
您可以使用其中一种可用的网络服务来匹配对某个国家/地区的传入请求。
否则,您可能决定获取MaxMind数据库文件(GeoLite Country),从应用程序中的此文件中读取并执行匹配。因此,您将独立于第三方服务,仅定期提取数据库文件的更新。
同时查看类似的问题:
答案 2 :(得分:0)
在非常短暂的市场中,有很多供应商,他们正在跟踪geolocation
,其中一个是谷歌API。
https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY
您可以生成自己的API_KEY
。
希望这篇文章能帮到你。 :)