ทุกเครื่องบนเครือข่ายมีตัวระบุที่ไม่ซ้ำกัน เช่นเดียวกับที่คุณจะเขียนจดหมายเพื่อส่งทางไปรษณีย์ คอมพิวเตอร์ใช้ตัวระบุเฉพาะเพื่อส่งข้อมูลไปยังคอมพิวเตอร์เฉพาะบนเครือข่าย เครือข่ายส่วนใหญ่ในปัจจุบัน รวมทั้งคอมพิวเตอร์ทุกเครื่องบนอินเทอร์เน็ต ใช้โปรโตคอล TCP/IP เป็นมาตรฐานในการสื่อสารบนเครือข่าย ในโปรโตคอล TCP/IP ตัวระบุเฉพาะสำหรับคอมพิวเตอร์เรียกว่า IPaddress
การใช้คุณสมบัติ HttpRequest.UserHostAddress
ตัวอย่าง
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public string Index(){ string ipAddress = Request.UserHostAddress; return ipAddress; } } }
หากเราต้องการดึงข้อมูลที่อยู่ IP ภายนอกตัวควบคุม เช่น ในคลาสปกติ เราสามารถทำได้ด้านล่าง
using System.Web; namespace DemoMvcApplication.Helpers{ public static class DemoHelperClass{ public static string GetIPAddress(){ string ipAddress = HttpContext.Current.Request.UserHostAddress; return ipAddress; } } }
ตัวอย่างการใช้ ServerVariables
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ public string Index(){ string ipAddress = Request.ServerVariables["REMOTE_ADDR"]; return ipAddress; } } }
ผลลัพธ์
เนื่องจากเรากำลังเรียกใช้แอปพลิเคชันในเครื่อง ที่อยู่ IP สำหรับ localhost คือ ::1.ชื่อ localhost ปกติจะแก้ไขเป็นที่อยู่ IPv4 loopback 127.0.0.1 และไปยังที่อยู่ IPv6 loopback ::1