Problema al iniciar sesión "NullReferenceException:"

Iniciado por motocros_elche, 7 Diciembre 2014, 11:30 AM

0 Miembros y 1 Visitante están viendo este tema.

motocros_elche

Recientemente he instalado en mi servidor un script de administración web y a la hora de poner el nombre de usuario y la contraseña recibo este error:


Error de servidor en la aplicación '/'.

Referencia a objeto no establecida como instancia de un objeto.

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

Error de código fuente:

Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

Seguimiento de la pila:


[NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.]
  _Default.loginButton_Click(Object sender, EventArgs e) +50
  System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9627382
  System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
  System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724
Información de versión: Versión de Microsoft .NET Framework:4.0.30319; Versión ASP.NET:4.0.30319.34237


No sé si proviene del web.config que algo no esta correcto o del servidor que requiere de alguna aplicación y/o configuración.

Después de buscar y buscar no consigo dar con que podría ser.

Utilizo Windows Server 2008 R2 Datacenter y Plesk Panel 12 como sistema de hosting, versión de ASP.NET 4.5 y MSSQLSERVER2012.

No sé si es necesario que publique algo más para encontrar la causa de este error.
A ver si alguien puede echarme una mano y así consigo dar con la solución.

Gracias de antemano, saludos.

Añado:
No sé si tal vez es por que el servidor utiliza ASP.NET 4.5 y net framework 4.5 y el script esta compilado para la versión 4.0, ya que abajo aparece la versión 4.0 en la web del error y el servidor ni si quiera tiene esa versión para elegir, tan solo la 3.5 y la 4.5 disponibles para elegir desde Plesk, lo mismo esto no tiene importancia pero lo pongo por si acaso fuese este el error.

Eleкtro

#1
No manejo ASP.Net, pero el error es self-explanatory, estás intentando acceder a un objeto que no ha sido instanciado.

Te muestro una manera simple de reproducir dicha excepción, para que se entienda mejor:
Código (vbnet) [Seleccionar]
Public Class Form1

   Sub Test()

       Dim obj As IO.FileInfo
       MessageBox.Show(obj.DirectoryName)

   End Sub

End Class


Y un ejemplo de como se solucionaría (instanciando la class FileInfo en este caso):

Código (vbnet) [Seleccionar]
Public Class Form1

   Sub Test()

       Dim obj As IO.FileInfo
       obj = New IO.FileInfo("archivo.ext")
       MessageBox.Show(obj.DirectoryName)

   End Sub

End Class


EDITO: La misma excepción puede darse si estás intentando convertir el texto VACÍO de algún control.

Así que solo tienes que repasar tú código fuente para encontrar el objeto que no estás instanciando.

Ayudaría que mostrases el código del eventhandler: loginButton_Click(sender As Object, e As EventArgs), aunque como ya digo, no manejo ASP.Net.

Saludos!








motocros_elche

Cita de: Eleкtro en  7 Diciembre 2014, 15:47 PM
No manejo ASP.Net, pero el error es self-explanatory, estás intentando acceder a un objeto que no ha sido instanciado.

Te muestro una manera simple de reproducir dicha excepción, para que se entienda mejor:
Código (vbnet) [Seleccionar]
Public Class Form1

    Sub Test()

        Dim obj As IO.FileInfo
        MessageBox.Show(obj.DirectoryName)

    End Sub

End Class


Y un ejemplo de como se solucionaría (instanciando la class FileInfo en este caso):

Código (vbnet) [Seleccionar]
Public Class Form1

    Sub Test()

        Dim obj As IO.FileInfo
        obj = New IO.FileInfo("archivo.ext")
        MessageBox.Show(obj.DirectoryName)

    End Sub

End Class


EDITO: La misma excepción puede darse si estás intentando convertir el texto VACÍO de algún control.

Así que solo tienes que repasar tú código fuente para encontrar el objeto que no estás instanciando.

Ayudaría que mostrases el código del eventhandler: loginButton_Click(sender As Object, e As EventArgs), aunque como ya digo, no manejo ASP.Net.

Saludos!
En ninguna parte aparece nada relacionado con eventhandler ni lo demás que mencionas, así que difícil...

Eleкtro

#3
Cita de: motocros_elche en  9 Diciembre 2014, 12:32 PMEn ninguna parte aparece nada relacionado con eventhandler ni lo demás que mencionas, así que difícil...

En el StackTrace de la excepción que has mostrado te está especificando claramente el nombre del event-handler que está implicado, loginButton_Click, a eso es a lo que me refiero, busca ese método y analiza bien las instrucciones del interior de su bloque.

Además, puedes probar a compilar en modo Release para que en el StackTrace te indique la linea exacta donde se produce la excepción (y no solo los offsets como está mostrando), y con eso ya podrás localizar el objeto conflictivo.

Es imposible ayudarte más sin conocer la linea y la intrucción que hay escrita en la linea donde se produce la excepción.

De todas formas, te explicaré de nuevo cual es el problema, pero de otro modo:
Estás utilizando una variable que ha sido declarada pero no inicializada, y estás tratando de acceder a uno de sus miembros no estáticos (un ejemplo de esto ya lo mostré en el comentario de arriba).


Troubleshooting Exceptions: System.NullReferenceException

Saludos!