none
Evento si servidor asp.net deja de funcionar RRS feed

  • Pregunta

  • Buenos dias, Me puede decir alguien si se produce un evento en caso de que el servidor donde se este ejecutando una aplicacion web en asp.net, deje de funcionar o se detiene o se desconecte de la red. Tengo una aplicacion que muestra la hora del servidor, pero necesito que si el servidor se desconecta, mostrar un mensaje y mostrar otra hora que tengo en un servicio web.

    Gracias!


    MSP UTESA


    • Editado Joel Cruz sábado, 10 de octubre de 2015 10:29
    sábado, 10 de octubre de 2015 10:02

Respuestas

  • Puedes hacer un ping a tu dominio o servidor de vez en cuando para saber si esta online.

    ejemplo

    var ping = new System.Net.NetworkInformation.Ping();
    
    var result = ping.Send("www.google.com");
    
    if (result.Status != System.Net.NetworkInformation.IPStatus.Success)
        return;// no online. Dar error
    


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

    sábado, 10 de octubre de 2015 14:27
    Moderador

Todas las respuestas

  • puedes usar el Application_Error() del global.asax. https://msdn.microsoft.com/es-es/library/24395wz3(v=vs.100).aspx

    https://msdn.microsoft.com/es-es/library/bb397417(v=vs.100).aspx


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

    sábado, 10 de octubre de 2015 10:14
    Moderador
  • puedes usar el Application_Error() del global.asax. https://msdn.microsoft.com/es-es/library/24395wz3(v=vs.100).aspx

    https://msdn.microsoft.com/es-es/library/bb397417(v=vs.100).aspx


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


    Pero Application_Error() se ejecuta en el Load(), yo nececito controlar si el servidor se desconecta despues del Load y despues que se carga la pagina completa.

    MSP UTESA

    sábado, 10 de octubre de 2015 10:23
  • ein? No mira. Cuando se produce a nivel de aplicación un error no controlado por lo que sea se ejecuta como ultimo manejador de errores el Application_Error() del global.asax. Es decir que si sr produce una excepción no manejada se gestiona allí. Intenta hacer una prueba

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

    sábado, 10 de octubre de 2015 10:35
    Moderador
  • Probé, pero no funciona, es decir por ejemplo desconecto el servidor de la red y no pasa nada. Aqui esta el codigo en el global:

     protected void Page_Error(object sender, EventArgs e) 
            {
    
                TimeServiceClient MyTime = new TimeServiceClient();
    
                String Tiempo = MyTime.getServerTime();
    
                Exception ex = Server.GetLastError();
    
                Response.Clear();
                Response.Write("An error ocurr. Tiempo : ");
                Response.Write("<string>" +  Tiempo + "<string>");
                btn1.Enabled = false;
                btn2.Enabled = false;
    
               Server.ClearError();
            }


    MSP UTESA

    sábado, 10 de octubre de 2015 11:26
  • Pero, no entiendo qué es lo que quieres hacer.

    ¿Quieres devolver un mensaje de error al navegador desde el servidor cuando se desconecta el servidor de la red?

    Evidentemente eso es imposible.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 10 de octubre de 2015 11:27
  • a menos que en tu navegador desde javascript emplees un timer que cada cierto tiempo se conecte a tu servidor para ver si esta disponible y si no lo estuviera mostrar un mensaje estoy con Asier. Es imposible. El navegador trabaja en un modo desconectado. Es decir hace la petición, el server le provee la pagina y se desconecta del server. No hay manera de si el server se apaga que éste envié una notificacion de que algo ha pasado. Es lógico ya que si el server no tiene red o se apaga a donde va a mandar las notificaciones?

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

    sábado, 10 de octubre de 2015 12:20
    Moderador
  • o al menos yo no lo conozco

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

    sábado, 10 de octubre de 2015 12:21
    Moderador
  • tal vez empleando SignalR puedas notificar a los clientes conectados al hub que en el server ha ocurrido un error. Pero no si el server se apaga o desconecta

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

    sábado, 10 de octubre de 2015 12:31
    Moderador
  • Es que pense que se podia controlar si el servidor no esta en linea y mostrar algun mensaje y mostrar la hora de un webservice que se llama  TimeServiceClient.

    MSP UTESA

    sábado, 10 de octubre de 2015 13:34
  • Puedes hacer un ping a tu dominio o servidor de vez en cuando para saber si esta online.

    ejemplo

    var ping = new System.Net.NetworkInformation.Ping();
    
    var result = ping.Send("www.google.com");
    
    if (result.Status != System.Net.NetworkInformation.IPStatus.Success)
        return;// no online. Dar error
    


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

    sábado, 10 de octubre de 2015 14:27
    Moderador