none
mensajes de error asp.net RRS feed

Respuestas

  • Mi código es algo asi 

        If Session("AreasProc") IsNot Nothing Then
                Session("AreasProc") = Nothing
            End If
            Session("AreasProc") = mSqlAreas

    Ese código tiene muchas líneas superfluas. El efecto es exactamente el mismo que si solo pusieses esto:

    Session("AreasProc") = mSqlAreas

    Es decir, es inútil poner un Nothing en la variable si justo a continuación le vas a meter un valor nuevo. Basta con meterle el valor nuevo, y eso automáticamente vuelve inalcanzable el valor anterior, que queda a disposición del Garbage Collector, exactamente igual que si le hubieras asignado Nothing (ojo, hablo de código de .NET, si fuera VB6 llamando a componentes COM sí que podría haber una diferencia).

    viernes, 30 de octubre de 2015 16:32
  • Fíjate en el volcado de pila que sale en el mensaje de error. El problema está en el Page_Load, línea 788 del frmConsulta
    lunes, 2 de noviembre de 2015 14:30
  • Pues si te está ocurriendo en tu aplicación ya publicada. Lo que te recomiendo es realizar un buen control de errores. Implementa lo que comentó Alberto en su primera respuesta. Aplica bloques try/catch en zonas de tu código criticas y al menos en el catch genera un fichero de texto con el contenido del mensaje y la linea... Porque sino veo difícil dñpoder solucionarlo sin dar palos de ciego


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 2 de noviembre de 2015 14:58
    Moderador

Todas las respuestas

  • Dentro de la página, declara una función que se llame Page_Error (con los mismos parámetros que el Page_Load). Se ejecutará si se produce en la página algún error no gestionado mediante try...catch.
    viernes, 23 de octubre de 2015 16:08
  • ok, yo sospecho que me sale un error porque hay una sesion que esta expirando y se esta poniendo este código

       Session("mAreas") = Nothing
            Session("mAreas") =Areas

    quisiera saber como validar esto 

    seria algo como

    If session

    ("mAreas")

    is nothing

    Session("mAreas") = Nothing

    O COMO PUEDO PONER UNA VALIDACION PARA LAS SESIONES

    viernes, 23 de octubre de 2015 16:18
  • hola

    pero se supoe que si en el page_load validas si la session tiene algun dato en la key no puedes acceder al valor

    Dim areas As String = ""
    
    If Session("mAreas") IsNot Nothing Then
    
       areas = CStr(Session("mAreas"))
    
    End If

    como veras solo si la session tiene un valor es que lo recuperas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 23 de octubre de 2015 17:41
  • hola

    pero la expiracion va a hacer que la session este en nula por lo tanto si defines

    If Session("mAreas") Is Nothing Then
    
       Session("mAreas") = valor
    
    End If

    en ese caso al expirar la seccion va a ingresar en el if

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 24 de octubre de 2015 2:46
  • Mi código es algo asi 

        If Session("AreasProc") IsNot Nothing Then
                Session("AreasProc") = Nothing
            End If
            Session("AreasProc") = mSqlAreas

    viernes, 30 de octubre de 2015 14:48
  • Mi código es algo asi 

        If Session("AreasProc") IsNot Nothing Then
                Session("AreasProc") = Nothing
            End If
            Session("AreasProc") = mSqlAreas

    Ese código tiene muchas líneas superfluas. El efecto es exactamente el mismo que si solo pusieses esto:

    Session("AreasProc") = mSqlAreas

    Es decir, es inútil poner un Nothing en la variable si justo a continuación le vas a meter un valor nuevo. Basta con meterle el valor nuevo, y eso automáticamente vuelve inalcanzable el valor anterior, que queda a disposición del Garbage Collector, exactamente igual que si le hubieras asignado Nothing (ojo, hablo de código de .NET, si fuera VB6 llamando a componentes COM sí que podría haber una diferencia).

    viernes, 30 de octubre de 2015 16:32
  • Mi código es algo asi 

        If Session("AreasProc") IsNot Nothing Then
                Session("AreasProc") = Nothing
            End If
            Session("AreasProc") = mSqlAreas

    Ese código tiene muchas líneas superfluas. El efecto es exactamente el mismo que si solo pusieses esto:

    Session("AreasProc") = mSqlAreas

    Es decir, es inútil poner un Nothing en la variable si justo a continuación le vas a meter un valor nuevo. Basta con meterle el valor nuevo, y eso automáticamente vuelve inalcanzable el valor anterior, que queda a disposición del Garbage Collector, exactamente igual que si le hubieras asignado Nothing (ojo, hablo de código de .NET, si fuera VB6 llamando a componentes COM sí que podría haber una diferencia).

    gracias alberto

    yo queria saber como puedo capturar estos errores porque se me esta cayendo en algun lado y no se donde es

    yo creo que es por el tema de expiracion de la sesion queria saber donde puedo capturar esos errores.

    viernes, 30 de octubre de 2015 19:06
  • >>yo creo que es por el tema de expiracion de la sesion queria saber donde puedo capturar esos errores.

    la expiracion de la session no causa ningun error

    el problema se genera cuando accedes a una key de la session, por eso no hay ningun lugar para capturarlo

    simplemente validas si existe algun dato para esa key

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 30 de octubre de 2015 19:47
  • Session("AreasProc") = mSqlAreas

    [...]

    yo queria saber como puedo capturar estos errores porque se me esta cayendo en algun lado y no se donde es

    No, en esa instrucción nunca puede dar un error. Aunque hubiera expirado la sesión eso simplemente salvaría el valor en una sesión nueva. El error te lo tiene que estar dando en algún sitio done LEES valores de la sesión (no donde SALVAS valores en la sesión, que nunca falla). El problema tiene que estar en algún sitio diferente del que has mostrado.
    viernes, 30 de octubre de 2015 19:57
  • en el load llamo a un método y lo envió como parametro algo asi

    FUNCION( nNumeroRegistrosPorPaginas, stCampoSorteo, Convert.ToString(Session("mSqlAreasTramite")))

    pero si estuviera en nothing el convert.tostring deberia manejarlo no es asi??

    y no estoy muy seguro que sea la sesion porque ese error unicamente me lo da en el servidor porque cuando publico en mi pc todo va bien, me sale este error en el servidor

    viernes, 30 de octubre de 2015 21:26
  • Haz lo que te dice el mensaje: deshabilita los customErrors en el web.config. De esa manera, te mostrará el error completo en pantalla y podrás saber dónde ocurre. Cuando termines, acuérdate de volver a dejarlo como estaba, ya que es un riesgo de seguridad mostrar en producción los errores completos.
    sábado, 31 de octubre de 2015 9:27
  • Haz lo que te dice el mensaje: deshabilita los customErrors en el web.config. De esa manera, te mostrará el error completo en pantalla y podrás saber dónde ocurre. Cuando termines, acuérdate de volver a dejarlo como estaba, ya que es un riesgo de seguridad mostrar en producción los errores completos.

    hola Alberto. 

    como entonces debería quedar esalínea en mi web config para que me muestre el error.

    domingo, 1 de noviembre de 2015 19:01
  • seria asi

    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    domingo, 1 de noviembre de 2015 20:25
    Moderador
  • seria asi

    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    Holas hice el cambio en el web config del servidor y en efecto me sale el error ,el problema esque no identifico bien en que linea lo arroja

    pienso que si puede ser la session que al ponerse en nothing y con el convert to string se vuelve ""

    y se esta tratando de asignar a una variable int ,pero no se en que linea es o si sera en esta clase siquiera



    lunes, 2 de noviembre de 2015 14:22
  • Fíjate en el volcado de pila que sale en el mensaje de error. El problema está en el Page_Load, línea 788 del frmConsulta
    lunes, 2 de noviembre de 2015 14:30
  • Fíjate en el volcado de pila que sale en el mensaje de error. El problema está en el Page_Load, línea 788 del frmConsulta

    Gracias Albeto el problema esque no hay esa linea en ese formulario

    llega hasta el 604

    lunes, 2 de noviembre de 2015 14:36
  • En el Page_Load() estas haciendo alguna conversión de un dato de cadena a un Integer? Porque el problema es de ahí. Llega una cadena vacia y dependiendo como hagas la conversión te salta una excepcion

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 2 de noviembre de 2015 14:48
    Moderador
  • En el Page_Load() estas haciendo alguna conversión de un dato de cadena a un Integer? Porque el problema es de ahí. Llega una cadena vacia y dependiendo como hagas la conversión te salta una excepcion

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    pero queria saberr en que linea porque en el loas llamo a varios metodos
    lunes, 2 de noviembre de 2015 14:51
  • Pues si te está ocurriendo en tu aplicación ya publicada. Lo que te recomiendo es realizar un buen control de errores. Implementa lo que comentó Alberto en su primera respuesta. Aplica bloques try/catch en zonas de tu código criticas y al menos en el catch genera un fichero de texto con el contenido del mensaje y la linea... Porque sino veo difícil dñpoder solucionarlo sin dar palos de ciego


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 2 de noviembre de 2015 14:58
    Moderador
  • Pues si te está ocurriendo en tu aplicación ya publicada. Lo que te recomiendo es realizar un buen control de errores. Implementa lo que comentó Alberto en su primera respuesta. Aplica bloques try/catch en zonas de tu código criticas y al menos en el catch genera un fichero de texto con el contenido del mensaje y la linea... Porque sino veo difícil dñpoder solucionarlo sin dar palos de ciego


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    Gracias por las respuestas , en realidad el aplicativo si tiene try cath por muchos lados, en el load No lo tiene y siempre hay un codigo algo asi en las excepciones

      Catch ex As Exception
                Throw New ApplicationException(ex.Message)
            End Try

    crees que si pongo try catch en el load se muestre mas claro la linea del error?

    lunes, 2 de noviembre de 2015 16:02