Puis-je arrêter un programme en cours d'exécution de toute autre manière que par la levée d'une erreur?
Est-il une commande qui permet d'arrêter l'exécution de mon programme?
J'ai un service qui est des processus d'un compte exchange via telnet toutes les 10 minutes. Au cours d'un point de l'exécution de l'application pourrait avoir une réponse de la session telnet quand il n'y a PAS d'e-mails dans le dossier, qui devrait ressembler à quelque chose comme ceci:
* 0 EXISTS
donc, puisque ce n'est pas vraiment une erreur, je ne veux pas jeter une erreur - j'ai juste envie d'arrêter le programme à ce point. Il n'y a pas vraiment un bon endroit pour moi de faire une sorte de comte de comparaison soit - pas sans écrire beaucoup de code de toute façon donc un If count < 0 Then ...
déclaration ne serait pas vraiment travailler dans ce cas, à mon humble avis.
Ainsi est-il possible pour moi d'arrêter ma candidature à ce point, car il n'y a aucun intérêt à continuer si il n'y a pas d'e-mails dans le compte?
PLUS d'INFOS: La réponse de telnet est généré dans une bibliothèque de classe. Le programme n'est pas en cours d'exécution dans une winform ou une application console. Un Service Windows appelle une méthode de ma classe d'utilitaires qui démarre l'exécution par des appels à d'autres classes de mon projet. Cette réponse est générée dans l'une des classes qui a été commencé par la classe d'utilitaires.
- Ce type d'application est-il?
- Avez-vous besoin pour déclencher un événement dans votre util classe à l'appel de la routine de contrôle de l'exécution?
- C'est certainement quelque chose que je suis plus qu'heureux de prendre en compte, mais j'ai peu d'expérience avec .net et je ne sais pas beaucoup sur le déclenchement des événements, je ne comprends comment je pourrais la mettre en œuvre dans ma situation.
Vous devez vous connecter pour publier un commentaire.
De l'environnement.Sortie - Met fin à ce processus et donne le sous-jacent système d'exploitation spécifiées code de sortie.
De l'environnement.FailFast - Termine un processus, mais ne pas exécuter n'importe quel actif essayez-enfin, les blocs ou les finaliseurs.
Si c'est une application winforms, Application.Sortie devrait fonctionner. Si c'est une application console, alors vous voulez
return;
de laMain
méthode, pourtant y arriver peut-être un peu de travail, tout dépend de votre programme d'installation.Si c'est une application console et que vous êtes juste le faire dans la méthode main, vous pouvez simplement mettre un retour là-bas, et il va quitter l'application.
Arrêter l'application en permanence?
Fermez le formulaire principal:
D'arrêter temporairement pour quelques minutes?
Utilisez une minuterie.
Et si vous lisez à partir d'Exchange à l'aide d'un fil, assurez-vous de terminer correctement le fil en laissant le fil de la procédure d'atteindre sa fin.
Ceci est généralement réalisé en utilisant une variable Booléenne qui est accessible par votre fil, vérifiez que la variable et la sortie de la fonction de thread.
Dans votre service, vous pouvez gérer les OnCustomCommand cas, alors votre classe qui ne l'telnet traitement d'envoyer une commande au service via la ExecuteCommand méthode du Système.ServiceProcess.ServiceController classe. Cette commande aura pour dire que le service s'arrête de lui-même, qui peut également être fait par le ServiceController objet.
À partir de votre classe:
Au sein de votre service:
Vous pouvez utiliser des commandes personnalisées à partir de 128 jusqu'.
Le VB Fin de l'instruction d'arrêt d'exécution. Toutefois, il ne sera pas exécuté en Disposer ou de Finaliser des fonctions. Je pense qu'elle est considérée comme la meilleure des manières pour fermer le formulaire principal et/ou de quitter le Sous-Main. Application.Sortie mettra également fin à vb.net au programme, mais seulement après le traitement du message.