Javascript 在侏罗纪中,如何限制脚本运行时间?
我正在实现Jurassic脚本引擎,如何限制脚本所需的时间Javascript 在侏罗纪中,如何限制脚本运行时间?,javascript,c#,jurassic,Javascript,C#,Jurassic,我正在实现Jurassic脚本引擎,如何限制脚本所需的时间 string ExcutingFunction = " for(var i=0;i<1000000;i++){ i%2; } "; ScriptEngine ScrptingEngine = new ScriptEngine(); ScrptingEngine.Execute(ExcutingFunction); string ExcutingFunction=“for(var i=0;i Jurass
string ExcutingFunction = " for(var i=0;i<1000000;i++){ i%2; } ";
ScriptEngine ScrptingEngine = new ScriptEngine();
ScrptingEngine.Execute(ExcutingFunction);
string ExcutingFunction=“for(var i=0;i
Jurassic没有限制脚本执行时间的内置方法。因为Jurassic将JavaScript方法编译成IL代码,所以在不影响性能的情况下提供超时功能是不容易的
但是,可以使用Thread.Abort()
在执行脚本的线程中引发ThreadAbortException
。一种可能是在新线程中运行ScriptEngine.Execute()
,如果新线程在特定时间后未完成,则在当前线程中调用Thread.Abort()
如果您通读了文档,他们确实对如何执行此操作提出了建议,但这有点冗长和复杂
Jurassic没有限制脚本执行时间的内置方法。因为Jurassic将JavaScript方法编译成IL代码,所以在不影响性能的情况下提供超时功能是不容易的
但是,可以使用Thread.Abort()
在执行脚本的线程中引发ThreadAbortException
。一种可能是在新线程中运行ScriptEngine.Execute()
,如果新线程在特定时间后未完成,则在当前线程中调用Thread.Abort()
如果你仔细阅读文档,他们确实有一些建议如何做,但这有点冗长和复杂。你说的限制脚本需要多长时间是什么意思?如果脚本需要很长时间,比如超时?如果脚本需要很长时间,比如停止脚本。你说的限制脚本需要多长时间是什么意思?如果脚本需要很长时间,比如超时?比如如果需要的时间太长,请停止脚本