2016-09-12 1 views
0

쥬라기 스크립트 엔진을 구현하고 있습니다. 스크립트의 소요 시간을 어떻게 제한합니까?쥬라기에서는 스크립트 실행 시간을 어떻게 제한합니까?

string ExcutingFunction = " for(var i=0;i<1000000;i++){ i%2; } "; 
    ScriptEngine ScrptingEngine = new ScriptEngine(); 
    ScrptingEngine.Execute(ExcutingFunction); 
+0

스크립트의 소요 시간을 제한한다는 것은 무엇을 의미합니까? 시간이 오래 걸리면 시간이 오래 걸릴까요? – Dispersia

+0

너무 오래 걸리면 스크립트를 중지하는 것과 같습니다. – Bill

답변

2

쥬라기 스크립트의 실행 시간을 제한하는 기본 방법이 없습니다. Jurassic은 JavaScript 메소드를 IL 코드로 컴파일하기 때문에 성능에 영향을주지 않고 시간 초과 기능을 제공하는 쉬운 방법이 없습니다.

그러나 을 사용하여 스크립트를 실행하는 스레드에서 ThreadAbortException을 발생시킬 수 있습니다. 하나의 가능성은 새 스레드에서 ScriptEngine.Execute()을 실행하고 특정 시간 후에 새 스레드가 완료되지 않으면 현재 스레드에서 thread.Abort()을 호출하는 것입니다.

Source

당신이 문서를 읽어 경우

, 그들은이 작업을 수행하는 방법에 대한 제안을 할 수 있지만, 조금 길고 참여하고있다.