2009-07-08 5 views
3

J'ai une application qui exécute des scripts IronRuby générés par l'utilisateur où chaque thread s'exécute sur son propre thread. Le problème que j'ai est que certains événements peuvent exiger que le script IronRuby soit arrêté à un point arbitraire dans le script.Est-il possible d'arrêter un script DLR/IronPython/IronRuby en cours d'exécution?

Je peux le faire en abandonnant le thread sur lequel le script s'exécute mais cette approche a introduit une fuite de mémoire dans l'application. Après plusieurs mois d'enquête, je n'ai pas pu rectifier sauf en programmant des redémarrages automatiques du processus de demande. Par conséquent, je tiens à s'éloigner de l'utilisation de Thread.Abort.

Est-il possible d'arrêter un script IronRuby depuis l'extérieur du script? La seule autre idée que je peux penser est de diviser le script de chaque utilisateur en lignes séparées et d'insérer une nouvelle ligne après chaque ligne de script qui vérifie si le script devrait s'arrêter mais qui est lié à introduire des erreurs de syntaxe.

Répondre

Questions connexes