private void PrecompileScripts()
 {
     using (var engine = v8Runtime.CreateScriptEngine())
     {
         LoadSharedScripts(engine, true);
     }
 }
Exemple #2
0
        /// <summary>
        /// Retrieves the script engine for the current runtime manager.
        /// </summary>
        /// <returns></returns>
        public V8ScriptEngine GetEngine()
        {
            if (_scriptEngine == null)
            {
                V8ScriptEngineFlags flags = _settings.V8DebugEnabled
                    ? V8ScriptEngineFlags.DisableGlobalMembers | V8ScriptEngineFlags.EnableDebugging
                    : V8ScriptEngineFlags.DisableGlobalMembers;

                _scriptEngine = _v8Runtime.CreateScriptEngine(flags, _settings.V8DebugPort);
            }
            return(_scriptEngine);
        }
        private static Dictionary <string, object> TestConversion(string testJson, string code)
        {
            V8Runtime v8Runtime = new V8Runtime();

            using (var context = v8Runtime.CreateScriptEngine())
            {
                var result   = JsonConvert.DeserializeObject <dynamic>(testJson);
                var jsValues = ScriptHelpers.ToScriptValue(result, context);
                context.AddHostObject("s", jsValues);

                Assert.IsTrue((bool)context.Evaluate(code));

                return(ConvertJsToNative(jsValues));
            }
        }
Exemple #4
0
        /// <summary>
        /// Retrieves the script engine for the current runtime manager.
        /// </summary>
        /// <returns></returns>
        public V8ScriptEngine GetEngine()
        {
            if (_scriptEngine == null)
            {
                V8ScriptEngineFlags flags = _settings.V8DebugEnabled
                    ? V8ScriptEngineFlags.DisableGlobalMembers | V8ScriptEngineFlags.EnableDebugging
                    : V8ScriptEngineFlags.DisableGlobalMembers;

                if (_settings.V8DebugPort <= 0)
                {
                    _settings.V8DebugPort = FindFreePort(IPAddress.Loopback);
                    Debug.WriteLine("_settings.V8DebugPort:" + _settings.V8DebugPort);
                }
                _scriptEngine = _v8Runtime.CreateScriptEngine(flags, _settings.V8DebugPort);
                if (_settings.V8DebugEnabled)
                {
                    _scriptEngine.AllowReflection = true;
                }
            }
            return(_scriptEngine);
        }