public static void Register(HttpConfiguration config) { AutoMapperConfiguration.Configure(); // Web API configuration and services var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterType <Context>().InstancePerLifetimeScope(); builder.RegisterType <LinkRepository>().As <ILinkRepository>().InstancePerLifetimeScope(); builder.RegisterType <DomainRepository>().As <IDomainRepository>().InstancePerLifetimeScope(); builder.RegisterType <MediaServiceRepository>().As <IMediaServiceRepository>().InstancePerLifetimeScope(); builder.RegisterType <StorageService>().As <IStorage>().InstancePerLifetimeScope(); builder.RegisterType <CreateLinkCommand>().As <ICommand <LinkModel, CreateLinkArgument> >().SingleInstance(); builder.RegisterType <UpdateLinkCommand>().As <ICommand <ExtendedLinkModel, UpdateLinkArgument> >().SingleInstance(); builder.RegisterType <GetLinkCommand>().As <ICommand <ExtendedLinkModel, GetLinkArgument> >().SingleInstance(); builder.RegisterType <DeleteLinkCommand>().As <ICommand <DeleteLinkArgument> >().SingleInstance(); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); // Web API routes config.MapHttpAttributeRoutes(); Database.SetInitializer(new MigrateDatabaseToLatestVersion <Context, Repository.Entities.Migrations.Configuration>()); config.Formatters.Clear(); config.Formatters.Add(new JsonMediaTypeFormatter()); config.Formatters.JsonFormatter.SupportedMediaTypes.Clear(); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new StringEnumConverter()); config.Formatters.JsonFormatter.UseDataContractJsonSerializer = false; config.Formatters.JsonFormatter.Indent = true; config.EnsureInitialized(); }
/// <summary> /// Configurations the specified application. /// </summary> /// <param name="app">The application.</param> public void Configuration(IAppBuilder app) { AutoMapperConfiguration.Configure(); this.ConfigureAuth(app); }