توضیحات و دانلود

پیدا کردن موقعیت مکانی جغرافیایی بازدید کنندگان (GeoLocation) با استفاده از آدرس IP در ASP.Net MVC
0 0
پیدا کردن موقعیت مکانی جغرافیایی بازدید کنندگان (GeoLocation) با استفاده از آدرس IP در ASP.Net MVC

با سلام در این مقاله با یک مثال توضیح خواهیم داد که چگونه می توانید جزئیات موقعیت مکانی جغرافیایی بازدید کننده (GeoLocation) مانند کشور ، شهر ، منطقه ، کد پستی ، عرض جغرافیایی ، طول و منطقه زمانی را با استفاده از آدرس IP مشتری دستگاه خود در ASP.Net MVC Razor بدست آورید.
model
کلاس model از ویژگی های زیر تشکیل شده است.

public class LocationModel
{
    public string IP { get; set; }
    public string Country_Code { get; set; }
    public string Country_Name { get; set; }
    public string Region_Code { get; set; }
    public string Region_Name { get; set; }
    public string City { get; set; }
    public string Zip_Code { get; set; }
    public string Time_Zone { get; set; }
    public string Latitude { get; set; }
    public string Longitude { get; set; }
    public string Metro_Code { get; set; }
}

فضاهای نام
باید نامهای زیر را وارد کنید.

using System.Net;
using System.Web.Script.Serialization;

Controller
در روش Index  از Controller ، ابتدا آدرس IP تعیین می شود.
توجه :

برای اطلاعات بیشتر در مورد واگذاری آدرس IP ، لطفاً به مقاله نحوه دریافت آدرس IP مشتری از Visitor Machine در ASP.Net MVC مراجعه کنید .
سپس آدرس IP به عنوان پارامتر به API FreeGeoIP ارسال می شود که با استفاده از شی کلاس کلاس WebClient فراخوانی می شود.
JSON برگشتی در شی کلاس LocationModel به صورت دیستریالیزه قرار می گیرد که در نهایت به View باز می گردد.

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        string ipAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
        if (string.IsNullOrEmpty(ipAddress))
        {
            ipAddress = Request.ServerVariables["REMOTE_ADDR"];
        }
        LocationModel location = new LocationModel();
        string url = string.Format("http://freegeoip.net/json/{0}", ipAddress);
        using (WebClient client = new WebClient())
        {
            string json = client.DownloadString(url);
            location = new JavaScriptSerializer().Deserialize<LocationModel>(json);
        }
 
        return View(location);
    }
}

View
در داخل View، کلاس LocationModel به عنوان Model برای View اعلام می شود.
اطلاعات جغرافیایی موقعیت مکانی بازدیدکننده (GeoLocation) مانند کشور ، شهر ، منطقه ، کد پستی ، عرض جغرافیایی ، طول جغرافیایی و منطقه زمانی در Viewمشاهده می شود.

@model IPAddress_Location_MVC.Models.LocationModel
 
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <title>Index</title>
</head>
<body>
    <table cellpadding="0" cellspacing="0">
        <tr><td>IP</td><td>@Model.IP</td></tr>
        <tr><td>Country Code</td><td>@Model.Country_Code</td></tr>
        <tr><td>Country Name</td><td>@Model.Country_Name</td></tr>
        <tr><td>Region Code</td><td>@Model.Region_Code</td></tr>
        <tr><td>Region Name</td><td>@Model.Region_Name</td></tr>
        <tr><td>City</td><td>@Model.City</td></tr>
        <tr><td>Zip Code</td><td>@Model.Zip_Code</td></tr>
        <tr><td>Time Zone</td><td>@Model.Time_Zone</td></tr>
        <tr><td>Latitude</td><td>@Model.Latitude</td></tr>
        <tr><td>Longitude</td><td>@Model.Longitude</td></tr>
        <tr><td>Metro Code</td><td>@Model.Metro_Code</td></tr>
    </table>
</body>
</html>

عکس صفحه

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :