/// <summary> /// Processes the HTTP request for controllers. /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <returns></returns> public Task ProcessRequest(IDIContainerProvider containerProvider, IOwinContext context) { var result = _controllersProcessor.ProcessControllers(containerProvider, context); switch (result) { case ControllersProcessorResult.Ok: return(_pageProcessor.ProcessPage(containerProvider, context)); case ControllersProcessorResult.Http401: context.Response.StatusCode = 401; _redirector.SetLoginReturnUrlFromCurrentUri(); break; case ControllersProcessorResult.Http403: context.Response.StatusCode = 403; break; case ControllersProcessorResult.Http404: context.Response.StatusCode = 404; break; } return(Task.Delay(0)); }
/// <summary> /// Sets the context variables to data collector /// </summary> /// <param name="containerProvider">The DI container provider.</param> public void SetVariables(IDIContainerProvider containerProvider) { var environment = containerProvider.Resolve <IEnvironment>(); var languageManager = containerProvider.Resolve <ILanguageManagerProvider>().Get(); var context = containerProvider.Resolve <IWebContextProvider>().Get(); var stopWatchProvider = containerProvider.Resolve <IStopwatchProvider>(); _dataCollector.Add(VariableNameTemplatesPath, environment.TemplatesPath); _dataCollector.Add(VariableNameSiteStyle, environment.SiteStyle); if (!string.IsNullOrEmpty(languageManager.Language)) { _dataCollector.Add(VariableNameCurrentLanguage, languageManager.Language); _dataCollector.Add(VariableNameCurrentLanguageExtension, "." + languageManager.Language); _dataCollector.Add(VariableNameCurrentLanguageCultureName, Thread.CurrentThread.CurrentCulture.TextInfo.CultureName); _dataCollector.Add(VariableNameCurrentLanguageCultureNameExtension, "." + Thread.CurrentThread.CurrentCulture.TextInfo.CultureName); } else { _dataCollector.Add(VariableNameCurrentLanguage, (string)null); _dataCollector.Add(VariableNameCurrentLanguageExtension, (string)null); _dataCollector.Add(VariableNameCurrentLanguageCultureName, (string)null); _dataCollector.Add(VariableNameCurrentLanguageCultureNameExtension, (string)null); } _dataCollector.Add(VariableNameSiteUrl, context.SiteUrl); _dataCollector.Add(VariableNameSiteVirtualPath, context.VirtualPath); if (!_disableAutomaticSiteTitleSet) { SetSiteTitleFromStringTable(context.Request.Path.Value, containerProvider.Resolve <IStringTable>()); } _dataCollector.Add(VariableNameExecutionTime, stopWatchProvider.StopAndGetMeasurement().ToString("mm\\:ss\\:fff")); }
/// <summary> /// Processes the HTTP request for controllers. /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <returns></returns> public Task ProcessRequest(IDIContainerProvider containerProvider, IOwinContext context) { var result = _controllersProcessor.ProcessControllers(containerProvider, context); switch (result) { case ControllersProcessorResult.Ok: return _pageProcessor.ProcessPage(containerProvider, context); case ControllersProcessorResult.Http401: context.Response.StatusCode = 401; _redirector.SetLoginReturnUrlFromCurrentUri(); break; case ControllersProcessorResult.Http403: context.Response.StatusCode = 403; break; case ControllersProcessorResult.Http404: context.Response.StatusCode = 404; break; } return Task.Delay(0); }
/// <summary> /// Sets the context variables to data collector /// </summary> /// <param name="containerProvider">The DI container provider.</param> public void SetVariables(IDIContainerProvider containerProvider) { var environment = containerProvider.Resolve<IEnvironment>(); var languageManager = containerProvider.Resolve<ILanguageManagerProvider>().Get(); var context = containerProvider.Resolve<IWebContextProvider>().Get(); var stopWatchProvider = containerProvider.Resolve<IStopwatchProvider>(); _dataCollector.Add(VariableNameTemplatesPath, environment.TemplatesPath); _dataCollector.Add(VariableNameSiteStyle, environment.SiteStyle); if (!string.IsNullOrEmpty(languageManager.Language)) { _dataCollector.Add(VariableNameCurrentLanguage, languageManager.Language); _dataCollector.Add(VariableNameCurrentLanguageExtension, "." + languageManager.Language); _dataCollector.Add(VariableNameCurrentLanguageCultureName, Thread.CurrentThread.CurrentCulture.TextInfo.CultureName); _dataCollector.Add(VariableNameCurrentLanguageCultureNameExtension, "." + Thread.CurrentThread.CurrentCulture.TextInfo.CultureName); } else { _dataCollector.Add(VariableNameCurrentLanguage, (string)null); _dataCollector.Add(VariableNameCurrentLanguageExtension, (string)null); _dataCollector.Add(VariableNameCurrentLanguageCultureName, (string)null); _dataCollector.Add(VariableNameCurrentLanguageCultureNameExtension, (string)null); } _dataCollector.Add(VariableNameSiteUrl, context.SiteUrl); _dataCollector.Add(VariableNameSiteVirtualPath, context.VirtualPath); if (!_disableAutomaticSiteTitleSet) SetSiteTitleFromStringTable(context.Request.Path.Value, containerProvider.Resolve<IStringTable>()); _dataCollector.Add(VariableNameExecutionTime, stopWatchProvider.StopAndGetMeasurement().ToString("mm\\:ss\\:fff")); }
/// <summary> /// Processes (build web-page and send to client, process current page state) the current web-page /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> public Task ProcessPage(IDIContainerProvider containerProvider, IOwinContext context) { var task = _responseWriter.WriteAsync(_pageBuilder.Build(containerProvider), context.Response); _redirector.PreviousPageUrl = context.Request.Uri.AbsoluteUri; return(task); }
public static IDIContainerProvider RegisterAll(this IDIContainerProvider provider) { provider.RegisterConfiguration() .RegisterMyProjectWindowsServiceWithDatabase() .Register <Worker>(); return(provider); }
public static IDIContainerProvider RegisterAll(this IDIContainerProvider containerProvider) { containerProvider.RegisterSimplifyWeb() .RegisterJsonModelBinder() .RegisterSimplifyWebPostman(); return(containerProvider); }
public static IDIContainerProvider RegisterAll(this IDIContainerProvider container) { // Manual Simplify.Web bootstrapper registration container.RegisterSimplifyWeb() .Register <WebApplicationStartup>(); return(container); }
/// <summary> /// Processes (build web-page and send to client, process current page state) the current web-page /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> public Task ProcessPage(IDIContainerProvider containerProvider, IOwinContext context) { var task = _responseWriter.WriteAsync(_pageBuilder.Build(containerProvider), context.Response); _redirector.PreviousPageUrl = context.Request.Uri.AbsoluteUri; return task; }
/// <summary> /// Registers Simplify.Web types and controllers and use this container as current for Simplify.Web. /// </summary> /// <param name="containerProvider">The container provider.</param> public static IDIContainerProvider RegisterSimplifyWeb(this IDIContainerProvider containerProvider) { BootstrapperFactory.ContainerProvider = containerProvider; BootstrapperFactory.CreateBootstrapper().Register(); return(containerProvider); }
/// <summary> /// Processes the asynchronous controllers responses. /// </summary> /// <param name="containerProvider">The container provider.</param> /// <returns></returns> public IEnumerable<ControllerResponseResult> ProcessAsyncControllersResponses(IDIContainerProvider containerProvider) { foreach (var task in _controllersResponses) { task.Wait(); yield return ProcessControllerResponse(task.Result, containerProvider); } }
private ControllerResponseResult ProcessControllerResponse(ControllerResponse response, IDIContainerProvider containerProvider) { if (response == null) return ControllerResponseResult.Default; _controllerResponseBuilder.BuildControllerResponseProperties(response, containerProvider); return response.Process(); }
public static IDIContainerProvider RegisterJiraTimers(this IDIContainerProvider container, string[] args) { container.RegisterConfiguration() .RegisterIts() .RegisterQt(args) .RegisterCryptography() .RegisterJiraTimersSettings(); return(container); }
public static IDIContainerProvider RegisterAll(this IDIContainerProvider provider) { provider.RegisterSimplifyWeb() .RegisterJsonModelBinder() .Register(r => new WebApplicationStartupSettings(r.Resolve <IConfiguration>()), LifetimeType.Singleton) .Register <WebApplicationStartup>(LifetimeType.Singleton); return(provider); }
/// <summary> /// Builds the modules accessor properties. /// </summary> /// <param name="modulesAccessor">The modules accessor.</param> /// <param name="containerProvider">The DI container provider.</param> protected void BuildActionModulesAccessorProperties(ActionModulesAccessor modulesAccessor, IDIContainerProvider containerProvider) { BuildModulesAccessorProperties(modulesAccessor, containerProvider); modulesAccessor.Context = containerProvider.Resolve<IWebContextProvider>().Get(); modulesAccessor.DataCollector = containerProvider.Resolve<IDataCollector>(); modulesAccessor.Redirector = containerProvider.Resolve<IRedirector>(); modulesAccessor.LanguageManager = containerProvider.Resolve<ILanguageManagerProvider>().Get(); modulesAccessor.FileReader = containerProvider.Resolve<IFileReader>(); }
/// <summary> /// Creates the controller. /// </summary> /// <param name="controllerType">Type of the controller.</param> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <param name="routeParameters">The route parameters.</param> /// <returns></returns> public ControllerBase CreateController(Type controllerType, IDIContainerProvider containerProvider, IOwinContext context, dynamic routeParameters = null) { var controller = (ControllerBase)containerProvider.Resolve(controllerType); BuildActionModulesAccessorProperties(controller, containerProvider); controller.RouteParameters = routeParameters; return controller; }
/// <summary> /// Creates the controller. /// </summary> /// <param name="controllerType">Type of the controller.</param> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <param name="routeParameters">The route parameters.</param> /// <returns></returns> public ControllerBase CreateController(Type controllerType, IDIContainerProvider containerProvider, IOwinContext context, dynamic routeParameters = null) { var controller = (ControllerBase)containerProvider.Resolve(controllerType); BuildActionModulesAccessorProperties(controller, containerProvider); controller.RouteParameters = routeParameters; return(controller); }
public static IDIContainerProvider RegisterAll(this IDIContainerProvider provider) { // Simplify.DI.DIContainer.Current IOC container registrations starting point provider.RegisterSimplifyWeb() .RegisterJsonModelBinder() .Register <SampleModelFactory>(); return(provider); }
/// <summary> /// Creates the view. /// </summary> /// <param name="viewType">Type of the view.</param> /// <param name="containerProvider">The DI container provider.</param> /// <returns></returns> public View CreateView(Type viewType, IDIContainerProvider containerProvider) { var view = (View)containerProvider.Resolve(viewType); BuildModulesAccessorProperties(view, containerProvider); view.Language = containerProvider.Resolve<ILanguageManagerProvider>().Get().Language; view.SiteUrl = containerProvider.Resolve<IAcspNetContextProvider>().Get().SiteUrl; return view; }
/// <summary> /// Creates the view. /// </summary> /// <param name="viewType">Type of the view.</param> /// <param name="containerProvider">The DI container provider.</param> /// <returns></returns> public View CreateView(Type viewType, IDIContainerProvider containerProvider) { var view = (View)containerProvider.Resolve(viewType); BuildModulesAccessorProperties(view, containerProvider); view.Language = containerProvider.Resolve <ILanguageManagerProvider>().Get().Language; view.SiteUrl = containerProvider.Resolve <IAcspNetContextProvider>().Get().SiteUrl; return(view); }
public static IDIContainerProvider RegisterAll(this IDIContainerProvider provider) { provider.RegisterConfiguration() .Register <DisposableDependency>() .Register <OneSecondStepProcessor>() .Register <TwoSecondStepProcessor>() .Register <TwoParallelTasksProcessor>() .Register <BasicTaskProcessor>(); return(provider); }
/// <summary> /// Buids a web page /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <returns></returns> public string Build(IDIContainerProvider containerProvider) { containerProvider.Resolve<IStringTableItemsSetter>().Set(); containerProvider.Resolve<IContextVariablesSetter>().SetVariables(containerProvider); var tpl = _templateFactory.Load(containerProvider.Resolve<IEnvironment>().MasterTemplateFileName); foreach (var item in _dataCollector.Items.Keys) tpl.Set(item, _dataCollector.Items[item]); return tpl.Get(); }
private ControllersProcessorResult ProcessController(Type controllerType, IDIContainerProvider containerProvider, IOwinContext context, dynamic routeParameters) { var result = _controllerExecutor.Execute(controllerType, containerProvider, context, routeParameters); if (result == ControllerResponseResult.RawOutput) return ControllersProcessorResult.RawOutput; if (result == ControllerResponseResult.Redirect) return ControllersProcessorResult.Redirect; return ControllersProcessorResult.Ok; }
private ControllersProcessorResult ProcessAsyncControllersResponses(IDIContainerProvider containerProvider) { foreach (var controllerResponseResult in _controllerExecutor.ProcessAsyncControllersResponses(containerProvider)) { if (controllerResponseResult == ControllerResponseResult.RawOutput) return ControllersProcessorResult.RawOutput; if (controllerResponseResult == ControllerResponseResult.Redirect) return ControllersProcessorResult.Redirect; } return ControllersProcessorResult.Ok; }
/// <summary> /// Buids a web page /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <returns></returns> public string Build(IDIContainerProvider containerProvider) { containerProvider.Resolve <IStringTableItemsSetter>().Set(); containerProvider.Resolve <IContextVariablesSetter>().SetVariables(containerProvider); var tpl = _templateFactory.Load(containerProvider.Resolve <IEnvironment>().MasterTemplateFileName); foreach (var item in _dataCollector.Items.Keys) { tpl.Set(item, _dataCollector.Items[item]); } return(tpl.Get()); }
/// <summary> /// Process controllers for current HTTP request /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <returns></returns> public ControllersProcessorResult ProcessControllers(IDIContainerProvider containerProvider, IOwinContext context) { var atleastOneNonAnyPageControllerMatched = false; foreach (var metaData in _agent.GetStandardControllersMetaData()) { var matcherResult = _agent.MatchControllerRoute(metaData, context.Request.Path.Value, context.Request.Method); if (matcherResult == null || !matcherResult.Success) { continue; } var securityResult = _agent.IsSecurityRulesViolated(metaData, context.Authentication.User); if (securityResult == SecurityRuleCheckResult.NotAuthenticated) { return(ControllersProcessorResult.Http401); } if (securityResult == SecurityRuleCheckResult.Forbidden) { return(ProcessForbiddenSecurityRule(containerProvider, context)); } var result = ProcessController(metaData.ControllerType, containerProvider, context, matcherResult.RouteParameters); if (result != ControllersProcessorResult.Ok) { return(result); } if (!_agent.IsAnyPageController(metaData)) { atleastOneNonAnyPageControllerMatched = true; } } if (!atleastOneNonAnyPageControllerMatched) { var result = ProcessOnlyAnyPageControllersMatched(containerProvider, context); if (result != ControllersProcessorResult.Ok) { return(result); } } return(ProcessAsyncControllersResponses(containerProvider)); }
private ControllersProcessorResult ProcessController(Type controllerType, IDIContainerProvider containerProvider, IOwinContext context, dynamic routeParameters) { var result = _controllerExecutor.Execute(controllerType, containerProvider, context, routeParameters); if (result == ControllerResponseResult.RawOutput) { return(ControllersProcessorResult.RawOutput); } if (result == ControllerResponseResult.Redirect) { return(ControllersProcessorResult.Redirect); } return(ControllersProcessorResult.Ok); }
/// <summary> /// Creates Simplify.DI wrapper service provider for Microsoft.Extensions.DependencyInjection /// </summary> /// <param name="provider">The resolver.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">collection</exception> public static IServiceProvider CreateServiceProvider(this IDIContainerProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } var serviceProvider = new DIServiceProvider(provider); // Registering required IOC container types wrappers in itself provider.Register <IServiceProvider>(x => serviceProvider, LifetimeType.Singleton); provider.Register <IServiceScopeFactory>(x => new DIServiceScopeFactory(provider), LifetimeType.Singleton); return(serviceProvider); }
private ControllersProcessorResult ProcessAsyncControllersResponses(IDIContainerProvider containerProvider) { foreach (var controllerResponseResult in _controllerExecutor.ProcessAsyncControllersResponses(containerProvider)) { if (controllerResponseResult == ControllerResponseResult.RawOutput) { return(ControllersProcessorResult.RawOutput); } if (controllerResponseResult == ControllerResponseResult.Redirect) { return(ControllersProcessorResult.Redirect); } } return(ControllersProcessorResult.Ok); }
private ControllersProcessorResult ProcessOnlyAnyPageControllersMatched(IDIContainerProvider containerProvider, IOwinContext context) { var http404Controller = _agent.GetHandlerController(HandlerControllerType.Http404Handler); if (http404Controller == null) return ControllersProcessorResult.Http404; var handlerControllerResult = _controllerExecutor.Execute(http404Controller.ControllerType, containerProvider, context); if (handlerControllerResult == ControllerResponseResult.RawOutput) return ControllersProcessorResult.RawOutput; if (handlerControllerResult == ControllerResponseResult.Redirect) return ControllersProcessorResult.Redirect; return ControllersProcessorResult.Ok; }
/// <summary> /// Builds the modules accessor properties. /// </summary> /// <param name="modulesAccessor">The modules accessor.</param> /// <param name="containerProvider">The DI container provider.</param> protected void BuildModulesAccessorProperties(ModulesAccessor modulesAccessor, IDIContainerProvider containerProvider) { BuildViewAccessorProperties(modulesAccessor, containerProvider); modulesAccessor.Environment = containerProvider.Resolve<IEnvironment>(); var stringTable = containerProvider.Resolve<IStringTable>(); modulesAccessor.StringTable = stringTable.Items; modulesAccessor.StringTableManager = stringTable; modulesAccessor.TemplateFactory = containerProvider.Resolve<ITemplateFactory>(); var htmlWrapper = new HtmlWrapper { ListsGenerator = containerProvider.Resolve<IListsGenerator>() }; modulesAccessor.Html = htmlWrapper; }
/// <summary> /// Creates and executes the specified controller. /// </summary> /// <param name="controllerType">Type of the controller.</param> /// <param name="containerProvider">The container provider.</param> /// <param name="context">The context.</param> /// <param name="routeParameters">The route parameters.</param> /// <returns></returns> public ControllerResponseResult Execute(Type controllerType, IDIContainerProvider containerProvider, IOwinContext context, dynamic routeParameters = null) { ControllerBase controller = _controllerFactory.CreateController(controllerType, containerProvider, context, routeParameters); var syncController = controller as SyncControllerBase; if (syncController != null) return ProcessControllerResponse(syncController.Invoke(), containerProvider); var asyncController = controller as AsyncControllerBase; if (asyncController != null) { var task = asyncController.Invoke(); _controllersResponses.Add(task); } return ControllerResponseResult.Default; }
/// <summary> /// Creates and executes the specified controller. /// </summary> /// <param name="controllerType">Type of the controller.</param> /// <param name="containerProvider">The container provider.</param> /// <param name="context">The context.</param> /// <param name="routeParameters">The route parameters.</param> /// <returns></returns> public ControllerResponseResult Execute(Type controllerType, IDIContainerProvider containerProvider, IOwinContext context, dynamic routeParameters = null) { ControllerBase controller = _controllerFactory.CreateController(controllerType, containerProvider, context, routeParameters); var syncController = controller as SyncControllerBase; if (syncController != null) { return(ProcessControllerResponse(syncController.Invoke(), containerProvider)); } var asyncController = controller as AsyncControllerBase; if (asyncController != null) { var task = asyncController.Invoke(); _controllersResponses.Add(task); } return(ControllerResponseResult.Default); }
private ControllersProcessorResult ProcessForbiddenSecurityRule(IDIContainerProvider containerProvider, IOwinContext context) { var http403Controller = _agent.GetHandlerController(HandlerControllerType.Http403Handler); if (http403Controller == null) { return(ControllersProcessorResult.Http403); } var handlerControllerResult = _controllerExecutor.Execute(http403Controller.ControllerType, containerProvider, context); if (handlerControllerResult == ControllerResponseResult.RawOutput) { return(ControllersProcessorResult.RawOutput); } if (handlerControllerResult == ControllerResponseResult.Redirect) { return(ControllersProcessorResult.Redirect); } return(ControllersProcessorResult.Ok); }
private ControllersProcessorResult ProcessOnlyAnyPageControllersMatched(IDIContainerProvider containerProvider, IOwinContext context) { var http404Controller = _agent.GetHandlerController(HandlerControllerType.Http404Handler); if (http404Controller == null) { return(ControllersProcessorResult.Http404); } var handlerControllerResult = _controllerExecutor.Execute(http404Controller.ControllerType, containerProvider, context); if (handlerControllerResult == ControllerResponseResult.RawOutput) { return(ControllersProcessorResult.RawOutput); } if (handlerControllerResult == ControllerResponseResult.Redirect) { return(ControllersProcessorResult.Redirect); } return(ControllersProcessorResult.Ok); }
/// <summary> /// Process controllers for current HTTP request /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <returns></returns> public ControllersProcessorResult ProcessControllers(IDIContainerProvider containerProvider, IOwinContext context) { var atleastOneNonAnyPageControllerMatched = false; foreach (var metaData in _agent.GetStandardControllersMetaData()) { var matcherResult = _agent.MatchControllerRoute(metaData, context.Request.Path.Value, context.Request.Method); if (matcherResult == null || !matcherResult.Success) continue; var securityResult = _agent.IsSecurityRulesViolated(metaData, context.Authentication.User); if (securityResult == SecurityRuleCheckResult.NotAuthenticated) return ControllersProcessorResult.Http401; if (securityResult == SecurityRuleCheckResult.Forbidden) return ProcessForbiddenSecurityRule(containerProvider, context); var result = ProcessController(metaData.ControllerType, containerProvider, context, matcherResult.RouteParameters); if (result != ControllersProcessorResult.Ok) return result; if (!_agent.IsAnyPageController(metaData)) atleastOneNonAnyPageControllerMatched = true; } if (!atleastOneNonAnyPageControllerMatched) { var result = ProcessOnlyAnyPageControllersMatched(containerProvider, context); if (result != ControllersProcessorResult.Ok) return result; } return ProcessAsyncControllersResponses(containerProvider); }
private ControllersProcessorResult ProcessForbiddenSecurityRule(IDIContainerProvider containerProvider, IOwinContext context) { var http403Controller = _agent.GetHandlerController(HandlerControllerType.Http403Handler); if (http403Controller == null) return ControllersProcessorResult.Http403; var handlerControllerResult = _controllerExecutor.Execute(http403Controller.ControllerType, containerProvider, context); if (handlerControllerResult == ControllerResponseResult.RawOutput) return ControllersProcessorResult.RawOutput; if (handlerControllerResult == ControllerResponseResult.Redirect) return ControllersProcessorResult.Redirect; return ControllersProcessorResult.Ok; }
public void Initialize() { _provider = new AutofacDIProvider(); }
/// <summary> /// Processes the OWIN HTTP request. /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <returns></returns> public Task ProcessRequest(IDIContainerProvider containerProvider, IOwinContext context) { return(_staticFilesRequestHandler.IsStaticFileRoutePath(context) ? _staticFilesRequestHandler.ProcessRequest(context) : _controllersRequestHandler.ProcessRequest(containerProvider, context)); }
/// <summary> /// Builds the view accessor properties. /// </summary> /// <param name="viewAccessor">The view accessor.</param> /// <param name="containerProvider">The DI container provider.</param> protected void BuildViewAccessorProperties(ViewAccessor viewAccessor, IDIContainerProvider containerProvider) { viewAccessor.ContainerProvider = containerProvider; viewAccessor.ViewFactory = containerProvider.Resolve<IViewFactory>(); }
public void Initialize() { _provider = new SimpleInjectorDIProvider(); }
/// <summary> /// Builds the modules accessor properties. /// </summary> /// <param name="modulesAccessor">The modules accessor.</param> /// <param name="containerProvider">The DI container provider.</param> protected void BuildModulesAccessorProperties(ModulesAccessor modulesAccessor, IDIContainerProvider containerProvider) { BuildViewAccessorProperties(modulesAccessor, containerProvider); modulesAccessor.Environment = containerProvider.Resolve <IEnvironment>(); var stringTable = containerProvider.Resolve <IStringTable>(); modulesAccessor.StringTable = stringTable.Items; modulesAccessor.StringTableManager = stringTable; modulesAccessor.TemplateFactory = containerProvider.Resolve <ITemplateFactory>(); var htmlWrapper = new HtmlWrapper { ListsGenerator = containerProvider.Resolve <IListsGenerator>() }; modulesAccessor.Html = htmlWrapper; }
public void Initialize() { _provider = new DryIocDIProvider(); }
/// <summary> /// Builds the controller response properties. /// </summary> /// <param name="controllerResponse">The controller response.</param> /// <param name="containerProvider">The DI container provider.</param> public void BuildControllerResponseProperties(ControllerResponse controllerResponse, IDIContainerProvider containerProvider) { BuildActionModulesAccessorProperties(controllerResponse, containerProvider); controllerResponse.ResponseWriter = containerProvider.Resolve<IResponseWriter>(); }
/// <summary> /// Builds the controller response properties. /// </summary> /// <param name="controllerResponse">The controller response.</param> /// <param name="containerProvider">The DI container provider.</param> public void BuildControllerResponseProperties(ControllerResponse controllerResponse, IDIContainerProvider containerProvider) { BuildActionModulesAccessorProperties(controllerResponse, containerProvider); controllerResponse.ResponseWriter = containerProvider.Resolve <IResponseWriter>(); }
/// <summary> /// Processes the asynchronous controllers responses. /// </summary> /// <param name="containerProvider">The container provider.</param> /// <returns></returns> public IEnumerable <ControllerResponseResult> ProcessAsyncControllersResponses(IDIContainerProvider containerProvider) { foreach (var task in _controllersResponses) { task.Wait(); yield return(ProcessControllerResponse(task.Result, containerProvider)); } }
private ControllerResponseResult ProcessControllerResponse(ControllerResponse response, IDIContainerProvider containerProvider) { if (response == null) { return(ControllerResponseResult.Default); } _controllerResponseBuilder.BuildControllerResponseProperties(response, containerProvider); return(response.Process()); }
/// <summary> /// Processes the OWIN HTTP request. /// </summary> /// <param name="containerProvider">The DI container provider.</param> /// <param name="context">The context.</param> /// <returns></returns> public Task ProcessRequest(IDIContainerProvider containerProvider, IOwinContext context) { return _staticFilesRequestHandler.IsStaticFileRoutePath(context) ? _staticFilesRequestHandler.ProcessRequest(context) : _controllersRequestHandler.ProcessRequest(containerProvider, context); }
/// <summary> /// Builds the modules accessor properties. /// </summary> /// <param name="modulesAccessor">The modules accessor.</param> /// <param name="containerProvider">The DI container provider.</param> protected void BuildActionModulesAccessorProperties(ActionModulesAccessor modulesAccessor, IDIContainerProvider containerProvider) { BuildModulesAccessorProperties(modulesAccessor, containerProvider); modulesAccessor.Context = containerProvider.Resolve <IWebContextProvider>().Get(); modulesAccessor.DataCollector = containerProvider.Resolve <IDataCollector>(); modulesAccessor.Redirector = containerProvider.Resolve <IRedirector>(); modulesAccessor.LanguageManager = containerProvider.Resolve <ILanguageManagerProvider>().Get(); modulesAccessor.FileReader = containerProvider.Resolve <IFileReader>(); }