2

我正在加载和调用一个 csx 文件,如下所示:

BaseScript = new ScriptBase(); // My own type
var session = engine.CreateSession(BaseScript, typeof(ScriptBase));
BaseScript.Session = session;
//...
var script = File.ReadAllText(file);
BaseScript.Session.Execute(script);

该脚本旨在无限期运行,并且基本上有一个while (true);。有没有办法让我过早地停止它?

另外,我正在考虑迁移到 Mono.Csharp,这可以让我这样做吗?总体而言,也许这是一个更好的选择,想法?

4

1 回答 1

1

所以答案是这样的:Roslyn 不解释 C#,它编译它。当您调用时Execute(string),它实际上会立即执行它。我将调用放在一个新线程中,并在需要时 Abort() 对其进行了处理,这并不是特别优雅,但我不确定还能做什么。

于 2013-04-16T06:12:25.030 回答