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"); }
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); }
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; }