PDA

View Full Version : دریافت IP کاربر وارد شده به سیستم در Razor Pages



davidrobert
یک شنبه 01 اردیبهشت 1398, 16:48 عصر
سلام و خسته نباشید.
دوستان ارجمند بنده برای دریافت IP در Webform به این صورت عمل کردم و IP کاربر به صورت صحیح میگرفتم وقتی وارد سایتم میشود.

string ipaddress;
ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (ipaddress == "" || ipaddress == null)
{
ipaddress = Request.ServerVariables["REMOTE_ADDR"];
infIp.LL_IP_Server = ipaddress;

حالا میخوام برای Razor Pages درست همین بنویسم IP اصلی طرف که وارد سایتم شد بهم بده Core 2.2 کار میکنم و کل اینترنت گشتم چیزی گیر نیاوردم.
و فقط این دستور گیر آوردم که Ip4 بهم میده که این هم لازم دارم. به این صورت IP4 میده درست هم هستش.
IPClient = HttpContext.Connection.RemoteIpAddress.ToString();
اما برای IP Static Or Dynamic اصلی کاربر هر کار میکنم دستوری پیدا نمیکنم. دوستان اگه دستوری داره باز تاکید میکنم Razor Pages هستش بهم بدید ممنون میشم چون هرچی میگردم متاسفانه میره سمت MVC که دستورات Razor Pages و MVC با هم فرق میکنن

ebrahim.rayatparvar
سه شنبه 10 اردیبهشت 1398, 21:52 عصر
سلام.
من با این روش جواب گرفتم.


private readonly AppliCationDbContext _db;
private IHttpContextAccessor _accessor;
public SendMessageController(AppliCationDbContext db, IHttpContextAccessor accessor)
{
_db = db;
_accessor = accessor;
}







obj.AddressIp = _accessor.HttpContext.Connection.RemoteIpAddress.T oString();

davidrobert
چهارشنبه 11 اردیبهشت 1398, 13:10 عصر
ممنون از جواب دادن دوست عزیز این اسم چی هستش AppliCationDbContext
و اینکه دوست عزیز بنده از Controllerو View استفاده نمیکنم به صورت Razor Pages استفاده میکنم.