如何从c#的角度停止ironpython脚本

本文关键字:ironpython 脚本 | 更新日期: 2023-09-27 18:13:12

我使用c#中的IronPython脚本,如下所示:

scriptEngine = Pythn.CreateEngine();
var scriptSource = scriptEngine.CreateScriptSourceFromFile(pathToScriptFile, Encoding.Default, SourceCodeKind.File);
scriptSource.Execute(_mainScope);

正在启动的脚本持续了一段时间,我想知道是否有可能从c#的角度阻止它。

如何从c#的角度停止ironpython脚本

就像实际的线程一样,从外部角度来看,没有安全的方法来终止正在运行的代码,除非运行的代码提供了一个取消机制(例如。net中的CancellationToken),或者它在外部进程中运行,在这种情况下,你可以安全地杀死它。

你也可以生成一个新线程,在它上面运行代码并杀死线程,但是杀死线程是非常危险的,所以我强烈建议不要这样做。