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();
        }
Ejemplo n.º 2
0
        private Process InitProcess(IHostApplication host, ICodeSource src, ref LoadedModuleHandle module)
        {
            Initialize();
            var process = new Process(host, module, _engine);

            return(process);
        }
Ejemplo n.º 3
0
        private LibraryLoader(LoadedModuleHandle moduleHandle, RuntimeEnvironment _env, ScriptingEngine _engine) : base(moduleHandle)
        {
            this._env        = _env;
            this._engine     = _engine;
            this._customized = true;

            _engine.InitializeSDO(this);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
 public ReflectableSDO(ScriptDrivenObject instance, LoadedModuleHandle module)
     : this(instance, module.Module)
 {
 }
Ejemplo n.º 7
0
 public ScriptDrivenObject(LoadedModuleHandle module, bool deffered) : this(module.Module, deffered)
 {
 }
Ejemplo n.º 8
0
 public ScriptDrivenObject(LoadedModuleHandle module) : this(module.Module)
 {
 }
Ejemplo n.º 9
0
 internal Process(IHostApplication host, LoadedModuleHandle src, ScriptingEngine runtime)
 {
     _host   = host;
     _engine = runtime;
     _module = src;
 }
Ejemplo n.º 10
0
 public ScriptableCounter(LoadedModuleHandle module, bool deffered) : base(module, deffered)
 {
 }
Ejemplo n.º 11
0
 public ScriptableCounter(LoadedModuleHandle module) : base(module)
 {
 }
Ejemplo n.º 12
0
 public ApplicationInstance(LoadedModuleHandle module) : base(module)
 {
 }
Ejemplo n.º 13
0
        /////////////////////////////////////////////////////////////////////////////////////

        public static Type ReflectModule(LoadedModuleHandle module, string asTypeName)
        {
            return(ReflectModule(module.Module, asTypeName));
        }
Ejemplo n.º 14
0
        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);
        }