2009-07-08 8 views
3

Ich habe eine Anwendung, die von Benutzern erstellte IronRuby-Skripte ausführt, wobei jeder Thread auf einem eigenen Thread ausgeführt wird. Das Problem, das ich habe, ist, dass bestimmte Ereignisse auftreten können, die erfordern, dass das IronRuby-Skript an einem beliebigen Punkt im Skript gestoppt wird.Ist es möglich, ein laufendes DLR/IronPython/IronRuby-Skript zu stoppen

Ich kann es tun, indem Sie den Thread abbrechen, auf dem das Skript läuft, aber dieser Ansatz hat ein Speicherleck in die Anwendung eingeführt. Nach vielen Monaten der Untersuchung war ich nicht in der Lage, zu korrigieren, außer durch automatische Wiederaufnahme des Antragsverfahrens. Folglich bin ich bestrebt, mich von der Verwendung von Thread.Abort zu entfernen.

Gibt es eine Möglichkeit, ein IronRuby-Skript von außerhalb des Skripts anzuhalten? Die einzige andere Idee, die ich mir vorstellen kann, besteht darin, das Skript jedes Benutzers in separate Zeilen aufzuteilen und nach jeder Skriptzeile eine neue Zeile einzufügen, die überprüft, ob das Skript angehalten werden soll, aber Syntaxfehler verursachen kann.

Antwort

Verwandte Themen