public static void SetupHttpConfigurationUsingAutofac(this IJsonApiConfiguration configuration, HttpConfiguration httpConfiguration, ILifetimeScope parentLifetimeScope) { var configurator = new JsonApiHttpAutofacConfigurator(parentLifetimeScope); configurator.Apply(httpConfiguration, configuration); }
public void Apply(HttpConfiguration httpConfiguration, IJsonApiConfiguration jsonApiConfiguration) { ILifetimeScope applicationLifetimeScope; if (_lifetimeScope == null) { var builder = new ContainerBuilder(); ConfigureApplicationLifetimeScope(jsonApiConfiguration, builder); applicationLifetimeScope = builder.Build(); } else { applicationLifetimeScope = _lifetimeScope.BeginLifetimeScope(containerBuilder => { ConfigureApplicationLifetimeScope(jsonApiConfiguration, containerBuilder); }); } if (_appLifetimeScopeBegunAction != null) { _appLifetimeScopeBegunAction(applicationLifetimeScope); } var jsonApiHttpConfiguration = applicationLifetimeScope.Resolve <JsonApiHttpConfiguration>(); jsonApiHttpConfiguration.Apply(httpConfiguration); httpConfiguration.DependencyResolver = new AutofacWebApiDependencyResolver(applicationLifetimeScope); }
private void ConfigureApplicationLifetimeScope(IJsonApiConfiguration jsonApiConfiguration, ContainerBuilder containerBuilder) { var module = new JsonApiAutofacModule(jsonApiConfiguration); containerBuilder.RegisterModule(module); if (_appLifetimeScopeCreating != null) _appLifetimeScopeCreating(containerBuilder); }
private void ConfigureApplicationLifetimeScope(IJsonApiConfiguration jsonApiConfiguration, ContainerBuilder containerBuilder) { var module = new JsonApiAutofacModule(jsonApiConfiguration); containerBuilder.RegisterModule(module); if (_appLifetimeScopeCreating != null) { _appLifetimeScopeCreating(containerBuilder); } }
/// <summary> /// Applies the running configuration to an HttpConfiguration instance /// </summary> /// <param name="httpConfig">The HttpConfiguration to apply this JsonApiHttpConfiguration to</param> /// <param name="jsonApiConfiguration">configuration holding BaseUrlService wich could provide a context path.</param> public void Apply(HttpConfiguration httpConfig, IJsonApiConfiguration jsonApiConfiguration) { httpConfig.Formatters.Clear(); httpConfig.Formatters.Add(_formatter); httpConfig.Filters.Add(_fallbackDocumentBuilderAttribute); httpConfig.Filters.Add(_jsonApiExceptionFilterAttribute); var contextPath = jsonApiConfiguration.CustomBaseUrlService?.GetContextPath(); if (contextPath != null && !contextPath.Equals(string.Empty)) { contextPath += "/"; } // Web API routes httpConfig.Routes.MapHttpRoute("ResourceCollection", contextPath + "{resourceType}", new { controller = "Main" }); httpConfig.Routes.MapHttpRoute("Resource", contextPath + "{resourceType}/{id}", new { controller = "Main" }); httpConfig.Routes.MapHttpRoute("RelatedResource", contextPath + "{resourceType}/{id}/{relationshipName}", new { controller = "Main" }); }
public void Apply(HttpConfiguration httpConfiguration, IJsonApiConfiguration jsonApiConfiguration) { ILifetimeScope applicationLifetimeScope; if (_lifetimeScope == null) { var builder = new ContainerBuilder(); ConfigureApplicationLifetimeScope(jsonApiConfiguration, builder); applicationLifetimeScope = builder.Build(); } else { applicationLifetimeScope = _lifetimeScope.BeginLifetimeScope(containerBuilder => { ConfigureApplicationLifetimeScope(jsonApiConfiguration, containerBuilder); }); } if (_appLifetimeScopeBegunAction != null) _appLifetimeScopeBegunAction(applicationLifetimeScope); var jsonApiHttpConfiguration = applicationLifetimeScope.Resolve<JsonApiHttpConfiguration>(); jsonApiHttpConfiguration.Apply(httpConfiguration); httpConfiguration.DependencyResolver = new AutofacWebApiDependencyResolver(applicationLifetimeScope); }
public JsonApiAutofacModule(IJsonApiConfiguration jsonApiConfiguration) { _jsonApiConfiguration = jsonApiConfiguration; }
internal JsonApiAutofacModule(IJsonApiConfiguration jsonApiConfiguration) { _jsonApiConfiguration = jsonApiConfiguration; }