public ScriptedController(ControllerContext context, LoadedModuleHandle module) : base(module, true) { _ctx = context; HttpRequest = new HttpRequestImpl(_ctx.HttpContext.Request); HttpResponse = new HttpResponseImpl(_ctx.HttpContext.Response); if (_ctx.RouteData != null) { RouteValues = new MapImpl(); foreach (var routeData in _ctx.RouteData.Values) { var rv = RouteValues.AsObject(); rv.SetIndexedValue( ValueFactory.Create(routeData.Key), CustomMarshaller.ConvertToIValueSafe(routeData.Value, routeData.Value.GetType()) ); } } else { RouteValues = ValueFactory.Create(); } var typeClr = (Type)context.ActionDescriptor.Properties["type"]; var type = TypeManager.RegisterType(typeClr.Name, typeof(ScriptedController)); DefineType(type); InitOwnData(); }
private Process InitProcess(IHostApplication host, ICodeSource src, ref LoadedModuleHandle module) { Initialize(); var process = new Process(host, module, _engine); return(process); }
private LibraryLoader(LoadedModuleHandle moduleHandle, RuntimeEnvironment _env, ScriptingEngine _engine) : base(moduleHandle) { this._env = _env; this._engine = _engine; this._customized = true; _engine.InitializeSDO(this); }
private Process InitProcess(IHostApplication host, ICodeSource src, ref LoadedModuleHandle module) { Initialize(); _globalCtx.ApplicationHost = host; _globalCtx.CodeSource = src; _globalCtx.InitInstance(); var process = new Process(host, module, _engine); return(process); }
// TODO: костыль для борьбы с https://github.com/EvilBeaver/OneScript/issues/626 private IEnumerable <string> GetExportedMethods(LoadedModuleHandle module) { var type = typeof(LoadedModuleHandle); var reflectedModule = type.InvokeMember("Module", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.GetProperty, null, module, new object[] {}); var modType = reflectedModule.GetType(); var propMethods = modType.GetProperty("ExportedMethods"); var exports = propMethods.GetValue(reflectedModule) as Array; Debug.Assert(exports != null); var names = new List <string>(); foreach (var obj in exports) { var exportType = obj.GetType(); var propName = exportType.GetField("SymbolicName"); names.Add((string)propName.GetValue(obj)); } return(names); }
public ReflectableSDO(ScriptDrivenObject instance, LoadedModuleHandle module) : this(instance, module.Module) { }
public ScriptDrivenObject(LoadedModuleHandle module, bool deffered) : this(module.Module, deffered) { }
public ScriptDrivenObject(LoadedModuleHandle module) : this(module.Module) { }
internal Process(IHostApplication host, LoadedModuleHandle src, ScriptingEngine runtime) { _host = host; _engine = runtime; _module = src; }
public ScriptableCounter(LoadedModuleHandle module, bool deffered) : base(module, deffered) { }
public ScriptableCounter(LoadedModuleHandle module) : base(module) { }
public ApplicationInstance(LoadedModuleHandle module) : base(module) { }
///////////////////////////////////////////////////////////////////////////////////// public static Type ReflectModule(LoadedModuleHandle module, string asTypeName) { return(ReflectModule(module.Module, asTypeName)); }
private IRuntimeContextInstance CreateServiceInstance(LoadedModuleHandle module, AspNetHostEngine _eng) { var runner = _eng.Engine.EngineInstance.NewObject(module); return(runner); }
public Type Reflect(LoadedModuleHandle module, string asTypeName) { var type = ReflectedClassType.ReflectModule(module, asTypeName); return(type); }