Example #1
0
		private static void LoadEngines() 
		{
			ZeusConfig config = ZeusConfig.Current;
			IZeusScriptingEngine engine;
			_engines = new Hashtable();

            engine = new DotNetScript.DotNetScriptEngine();
            _engines.Add(engine.EngineName, engine);

            engine = new MicrosoftScript.MicrosoftScriptEngine();
            _engines.Add(engine.EngineName, engine);

			string path;
			Assembly assembly;
			foreach (string unparsedpath in config.ScriptingEngines) 
			{
                if (unparsedpath.EndsWith("MicrosoftScriptingEngine.dll", StringComparison.CurrentCultureIgnoreCase) ||
                    unparsedpath.EndsWith("DotNetScriptingEngine.dll", StringComparison.CurrentCultureIgnoreCase))
                {
                    continue;
                }
                else
                {
                    path = FileTools.ResolvePath(unparsedpath, true);
                    assembly = DynamicAssemblyTools.LoadDynamicAssembly(path);

                    if (assembly != null)
                    {
                        object[] tmp = DynamicAssemblyTools.InstantiateClassesByType(assembly, typeof(IZeusScriptingEngine));

                        for (int i = 0; i < tmp.Length; i++)
                        {
                            engine = tmp[i] as IZeusScriptingEngine;

                            if (engine != null)
                            {
                                _engines.Add(engine.EngineName, engine);
                            }
                        }
                    }
                    else
                    {
                        throw new ZeusDynamicException(ZeusDynamicExceptionType.ScriptingEnginePluginInvalid, path);
                    }

                    assembly = null;
                }
			}
		}
		public MicrosoftScriptExecutioner(MicrosoftScriptEngine engine) 
		{
			_engine = engine;
		}
using System;