Tôi đã thử Request.UserHostAddress;
nhưng bộ điều khiển API không có UserHostAddress bên trong Yêu cầu.Cách nhận IP người dùng trong Bộ điều khiển API MVC ASP.NET
Trả lời
IP = ((HttpContextBase)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
Theo this, một cách hoàn chỉnh hơn sẽ là:
private string GetClientIp(HttpRequestMessage request)
{
if (request.Properties.ContainsKey("MS_HttpContext"))
{
return ((HttpContext)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
}
else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
RemoteEndpointMessageProperty prop;
prop = (RemoteEndpointMessageProperty)this.Request.Properties[RemoteEndpointMessageProperty.Name];
return prop.Address;
}
else
{
return null;
}
}
Trong quá khứ, trên MVC 3 dự án (không API,), chúng tôi sử dụng để sử dụng như sau:
string IPAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (String.IsNullOrEmpty(IPAddress))
IPAddress = Request.ServerVariables["REMOTE_ADDR"];
Tôi đã kết thúc nghiên cứu thêm một chút bởi vì nó cảm thấy kỳ lạ mà bạn sẽ nhận một tiêu đề yêu cầu trong một biến máy chủ. context.Request.ServerVariables ["HTTP_X_FORWARDED_FOR"] là chọn lên những gì được chọn lên tiêu đề yêu cầu X-Forward-For được gửi bởi Proxy Server và Load Balancers. – muglio
Tôi đang sử dụng mã sau và nó hoạt động cho tôi ....
string ipAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
Nó cung cấp địa chỉ máy chủ –
- 1. Điều khiển người dùng tương đương trong ASP.NET MVC 4
- 2. ASP.NET MVC: Nhận tất cả các bộ điều khiển
- 3. Bộ điều khiển không đồng bộ trong ASP.NET MVC
- 4. Tạo ViewResults ngoài Bộ điều khiển trong ASP.NET MVC
- 5. đổi tên bộ điều khiển asp.net mvc
- 6. ASP.NET MVC: Cấu trúc bộ điều khiển
- 7. Xử lý ngoại lệ trong Bộ điều khiển (ASP.NET MVC)
- 8. Caching một điều khiển người dùng trong ASP.NET?
- 9. asp.net MVC nhận hiện tại người dùng đăng nhập id
- 10. asp.net mvc Cách kiểm tra bộ điều khiển chính xác
- 11. Làm cách nào để tạo giao diện người dùng bảng điều khiển bằng ASP.NET MVC?
- 12. Nhiều người trong nhiều chế độ xem và bộ điều khiển asp.net mvc
- 13. ASP.NET MVC: Cách gửi email html bằng bộ điều khiển?
- 14. Sử dụng điều khiển người dùng ASP.NET ASCX cũ trong chế độ xem MVC Razor
- 15. ASP.NET MVC chuyển ID trong ActionLink đến bộ điều khiển
- 16. trong bộ điều khiển trong asp.net-mvc làm cách nào tôi có thể nhận thông tin về trình duyệt của người dùng?
- 17. ASP.NET MVC Định tuyến người dùng như thế trong StackOverflow?
- 18. Bộ điều khiển Web API ASP.Net MVC 4 không hoạt động với Unity.WebApi
- 19. Cách thêm điều khiển người dùng vào bảng điều khiển
- 20. Nhận địa chỉ IP của người dùng
- 21. Thư viện điều khiển người dùng Web ASP.NET
- 22. Mảng tên miền điều khiển ASP.Net MVC
- 23. ASP.NET MVC C# Nhận tên bộ điều khiển và hành động trong lớp
- 24. chuyển từ điển sang bộ điều khiển asp.net mvc
- 25. Mocking Asp.net-mvc Điều khiển ngữ cảnh
- 26. Điều khiển Telerik trong ASP.NET MVC
- 27. Tại sao bộ điều khiển dựa trên tên ASP.NET MVC?
- 28. Mã chia sẻ giữa Bộ điều khiển MVC ASP.NET
- 29. Di chuyển điều khiển người dùng xung quanh trong một điều khiển người dùng khác
- 30. ASP.NET MVC: Nhóm các lớp xung quanh bộ điều khiển
Xin lỗi, tôi đã bối rối. Kiểm tra câu hỏi khác này: http://stackoverflow.com/questions/9565889/get-the-ip-address-of-the-remote-host –