Adding empty item – easy peasy. Just append "<option selected style=’display: none’ value=”></option>";
if (ASPCountryEmpty)
{
string empty = "<option selected style='display: none' value=''></option>";
output.Content.AppendHtml(empty);
}
For getting the IP,I was trying to balance the 2 variants: downloading GeoIP database (https://dev.maxmind.com/geoip/geoip2/geolite2/) or calling http://freegeoip.net/ .
I do call http://freegeoip.net/ – and the next point is to use Dependency Injection … or a provider to do that.
For the moment,the code is:
private async Task<string> GetCountryCodeFromIP(string ip)
{
//ip= "188.25.145.65";
var url = "http://freegeoip.net/csv/"+ip;
var request = WebRequest.Create(url);
request.Method = "GET";
using (var wr = await request.GetResponseAsync())
{
using (var receiveStream = wr.GetResponseStream())
{
using (var reader = new StreamReader(receiveStream,Encoding.UTF8))
{
string content = reader.ReadToEnd();
return content.Split(',')[1];
}
}
}
}
Leave a Reply