public override void OnActionExecuting(ActionExecutingContext context) { base.OnActionExecuting(context); var httpContext = context.HttpContext; ServiceProvider = httpContext.RequestServices; HttpRequest GetRequest() => httpContext.Request; _oqtState = new OqtState(GetRequest, ServiceProvider, Log); var getBlock = _oqtState.GetBlock(true); DynCode = ServiceProvider.Build <OqtaneDynamicCode>().Init(getBlock, Log); var stxResolver = ServiceProvider.Build <IContextResolver>(typeof(IContextResolver)); stxResolver.AttachRealBlock(() => getBlock); stxResolver.AttachBlockContext(() => _oqtState.GetContext()); if (context.HttpContext.Items.TryGetValue(CodeCompiler.SharedCodeRootPathKeyInCache, out var createInstancePath)) { CreateInstancePath = createInstancePath as string; } }
protected OqtStatefulControllerBase(StatefulControllerDependencies dependencies) : base() { ServiceProvider = dependencies.ServiceProvider; _oqtState = new OqtState(GetRequest, ServiceProvider, Log); dependencies.CtxResolver.AttachRealBlock(() => GetBlock()); dependencies.CtxResolver.AttachBlockContext(GetContext); }