Example #1
0
        public ActionResult CheckIp()
        {
            var statusViewModel = new StatusViewModel();
            var clientIp = Request.ServerVariables["REMOTE_ADDR"];

            statusViewModel.Ip = clientIp;

            var result = new IpLookupResult();

            try
            {
                var ipLookup = new IpLookup();
                result = ipLookup.LookupIp(clientIp);
            }
            catch (Exception exception)
            {
                result.Matched = false;
                result.Message = exception.Message;
            }

            if (result.Matched)
            {
                statusViewModel.Country = result.Country.CountryName;
            }

            statusViewModel.Message = result.Message != null ? result.Message : "";

            return View(statusViewModel);
        }
        private HttpResponseMessage LookupCountry(string ip)
        {
            var ipLookup = new IpLookup();
              var result = ipLookup.LookupIp(ip);

              Trace.WriteLine(string.Format("Ip: {0} Matched: {1} Message: {2} Country: {3}", result.Ip, result.Matched.ToString(), result.Message, result.Country));

              return result.Matched ? Request.CreateResponse(HttpStatusCode.OK, result.Country) : Request.CreateResponse(HttpStatusCode.BadRequest, result.Message);
        }