Exemplo n.º 1
0
        public WebGlobalContext()
        {
            var sys = new SystemGlobalContext();

            _osGlobal = new RCIRedirector(sys);
            _osGlobal.PublishProperty("Символы", null);
            _osGlobal.PublishProperty("Chars", null);
            _osGlobal.PublishProperty("ФайловыеПотоки", null);
            _osGlobal.PublishProperty("FileStreams", null);

            _osGlobal.PublishMethod("ОсвободитьОбъект", "FreeObject");
            _osGlobal.PublishMethod("ВыполнитьСборкуМусора", "RunGarbageCollection");
            _osGlobal.PublishMethod("ЗапуститьПриложение", "RunApp");
            _osGlobal.PublishMethod("СоздатьПроцесс", "CreateProcess");
            _osGlobal.PublishMethod("НайтиПроцессПоИдентификатору", "FindProcessById");
            _osGlobal.PublishMethod("НайтиПроцессыПоИмени", "FindProcessesByName");
            _osGlobal.PublishMethod("КраткоеПредставлениеОшибки", "BriefErrorDescription");
            _osGlobal.PublishMethod("КаталогПрограммы", "ProgramDirectory");
            _osGlobal.PublishMethod("ПодробноеПредставлениеОшибки", "DetailErrorDescription");
            _osGlobal.PublishMethod("ТекущаяДата", "CurrentDate");
            _osGlobal.PublishMethod("ТекущаяУниверсальнаяДатаВМиллисекундах", "CurrentUniversalDateInMilliseconds");
            _osGlobal.PublishMethod("ЗначениеЗаполнено", "IsValueFilled");
            _osGlobal.PublishMethod("ЗаполнитьЗначенияСвойств", "FillPropertyValues");
            _osGlobal.PublishMethod("ПолучитьCOMОбъект", "GetCOMObject");
            _osGlobal.PublishMethod("Приостановить", "Sleep");
            _osGlobal.PublishMethod("ПодключитьВнешнююКомпоненту", "AttachAddIn");
            _osGlobal.PublishMethod("ЗагрузитьСценарий", "LoadScript");
            _osGlobal.PublishMethod("ЗагрузитьСценарийИзСтроки", "LoadScriptFromString");
            _osGlobal.PublishMethod("ПодключитьСценарий", "AttachScript");
        }
Exemplo n.º 2
0
        public HostedScriptEngine()
        {
            _engine = new ScriptingEngine();
            _env    = new RuntimeEnvironment();
            _engine.AttachAssembly(System.Reflection.Assembly.GetExecutingAssembly(), _env);

            _globalCtx = new SystemGlobalContext();
            _globalCtx.EngineInstance = _engine;

            _env.InjectObject(_globalCtx, false);
        }
Exemplo n.º 3
0
        public HostedScriptEngine()
        {
            _engine = new ScriptingEngine();
            _env    = new RuntimeEnvironment();
            _engine.AttachAssembly(System.Reflection.Assembly.GetExecutingAssembly(), _env);

            _globalCtx = new SystemGlobalContext();
            _globalCtx.EngineInstance = _engine;

            _env.InjectObject(_globalCtx, false);

            InitializationCallback = (eng, env) =>
            {
                var templateFactory = new DefaultTemplatesFactory();
                var storage         = new TemplateStorage(templateFactory);
                env.InjectObject(storage);
                GlobalsManager.RegisterInstance(storage);
            };

            _engine.Environment = _env;
        }