Когда вы проводите тестирование из дома, сервер и пользователь едины (ваш компьютер).Поэтому нельзя ожидать, что он покажет страну, поскольку IP-адрес для IIS является собственным адресом.
Ваш код, кажется, в порядке.Также вы можете использовать бесплатный хост ASP.NET, чтобы попробовать ваш сайт в Интернете.Есть много таких, как HelioHost , 0000free и т. Д.
Что касается части редактирования вашего вопроса, если вы используете разные версии сайта для каждой страны, тоНе лучше использовать переключатель.
switch(iso3166TwoLetterCode.ToUpper())
{
case "IN" : Response.Redirect("www.mysite.in");
case "FR" : Response.Redirect("www.mysite.fr");
...
Default : Response.Redirect("www.mysite.in");
}
Я думаю, что это выглядит аккуратнее.