时间:2015-11-20 06:49:46

标签: asp.net-mvc web-hosting

很抱歉,这可能会有点模糊,但是如何根据网站的打开位置显示组织的不同徽标。例如,该组织希望在南非开设该网站时显示其南非官方标识,并在肯尼亚或加纳开设另一个官方标识。

网站是否只需托管在多台服务器上......无法想到其他任何可能的方式?

3 个答案:

答案 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),从应用程序中的此文件中读取并执行匹配。因此,您将独立于第三方服务,仅定期提取数据库文件的更新。

同时查看类似的问题:

Geolocation web service recommendations

Know a good IP address Geolocation Service?

答案 2 :(得分:0)

在非常短暂的市场中,有很多供应商,他们正在跟踪geolocation,其中一个是谷歌API。

  

https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY

您可以生成自己的API_KEY

希望这篇文章能帮到你。 :)