Necesito almacenar el nombre de host de la computadora solicitante en la base de datos si se crea un nuevo conjunto de datos. Para indicar claramente esto al usuario (es todo interno de la empresa), lo mostramos como tres cuadros de texto en la forma que rellena el usuario. Estos tres cuadros de texto están llenos de esa manera:ASP.NET Request.UserHostName que no contiene el nombre de host
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
txtHostname.Text = Request.UserHostName.ToString();
txtIPAdress.Text = Request.UserHostAddress.ToString();
txtWindowsLogin.Text = Request.LogonUserIdentity.Name.ToString();
}
}
Sin embargo, no importa de qué cliente probé, la búsqueda inversa de la IP que debe dar el nombre de host en Request.UserHostname no funciona, por lo que el campo está lleno de la dirección IP. Si uso nslookup en el servidor, la inversión funciona bien. ¿Algún consejo para mí sobre dónde podría comenzar? Muchas gracias.
Hola @HackedByChinese, muchas gracias por el enlace, simplemente fue exactamente lo correcto. Para las pruebas habilité la búsqueda inversa por IIS, pero también modificaré la aplicación para usar Dns.GetHostEntry. Tu código se ve muy bien, solo agregaré un 'throw ArgumentException' si ip es nulo o está vacío. Gracias de nuevo :-) –