Reiniciar programa

12/07/2007 - 17:06 por Isabel | Informe spam
Saludos
Me gustaría saber si es posble que dentro de mi programa cuando ocurra una
excepción el mismo se reinicie. Este es un programa pequeño en donde uso
Remoting y necesito garantizar que siempre este arriba, escuchando...
Les agradezco de antemano su colaboración ...

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
12/07/2007 - 21:29 | Informe spam
"Isabel" (donotspam)> wrote in message
news:
Me gustaría saber si es posble que dentro de mi programa cuando ocurra una
excepción el mismo se reinicie. Este es un programa pequeño en donde uso
Remoting y necesito garantizar que siempre este arriba, escuchando...



Podrías escribir el programa como si fuera una subrutina de otro
programa. Este programa contenedor llamaría al segundo dentro de un
try...catch, con lo cual si se produce una excepción el contenedor la
interceptará y puede volver a lanzar el programa.

Si necesitas algo todavía más robusto, puedes crear un Dominio de
Aplicación (AppDomain):

AppDomain d = AppDomain.CreateDomain("Dominio");
d.ExecuteAssembly("Programa.exe");

Lo metes en un try...catch y si da un error haces un unload del
appdomain y vuelves a lanzar el proceso.
Respuesta Responder a este mensaje
#2 Isabel
12/07/2007 - 21:42 | Informe spam
Gracias! voy a ver como lo pongo en practica...

"Alberto Poblacion" wrote:

"Isabel" (donotspam)> wrote in message
news:
> Me gustaría saber si es posble que dentro de mi programa cuando ocurra una
> excepción el mismo se reinicie. Este es un programa pequeño en donde uso
> Remoting y necesito garantizar que siempre este arriba, escuchando...

Podrías escribir el programa como si fuera una subrutina de otro
programa. Este programa contenedor llamaría al segundo dentro de un
try...catch, con lo cual si se produce una excepción el contenedor la
interceptará y puede volver a lanzar el programa.

Si necesitas algo todavía más robusto, puedes crear un Dominio de
Aplicación (AppDomain):

AppDomain d = AppDomain.CreateDomain("Dominio");
d.ExecuteAssembly("Programa.exe");

Lo metes en un try...catch y si da un error haces un unload del
appdomain y vuelves a lanzar el proceso.


Respuesta Responder a este mensaje
#3 Francisco J. Rodríguez
13/07/2007 - 09:55 | Informe spam
Hola. Yo hago más o menos esto y de momento me ha funcionado cuando ha sido
necesario (aunque no sé hasta que punto es correcto):

static void Main()
{
try
{
Application.Run(new FInicio());
}
catch (Exception ex)
{
// Cerrar la ejecución actual
Application.Exit();

// Reiniciar la aplicación. Aquí normalmente muestro un cuadro de
diálogo para confirmar que el usuario
// quiere reiniciar la aplicación. Si el resultado del diálogo es
DialogResult.Yes, ejecuto esta instrucción:
System.Diagnostics.Process.Start(Application.ExecutablePath);
}
}

A ver si te puede servir. Aunque es mejor utilizar AppDomain como dice
Alberto.

Un saludo.

PS: El código para reiniciar la aplicación está copiado de un ejemplo visto
en Internet. No es idea mía.

"Isabel" (donotspam)> escribió en el mensaje
news:
Saludos
Me gustaría saber si es posble que dentro de mi programa cuando ocurra una
excepción el mismo se reinicie. Este es un programa pequeño en donde uso
Remoting y necesito garantizar que siempre este arriba, escuchando...
Les agradezco de antemano su colaboración ...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida