public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.InitializeCustomWebHooks(); config.InitializeCustomWebHooksSqlStorage(); config.InitializeCustomWebHooksApis(); ILogger logger = config.DependencyResolver.GetLogger(); IWebHookStore store = config.DependencyResolver.GetStore(); IWebHookSender sender = new ScionWebHookSender(logger); IWebHookManager manager = new ScionWebhookManager(store, sender, logger); ContainerBuilder builder = new ContainerBuilder(); builder.RegisterInstance(manager).As <IWebHookManager>().SingleInstance(); builder.RegisterInstance(sender).As <IWebHookSender>().SingleInstance(); Assembly currentAssembly = Assembly.GetExecutingAssembly(); builder.RegisterApiControllers(currentAssembly); builder.RegisterControllers(currentAssembly); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public void Configuration(IAppBuilder appBuilder) { ConfigureAuth0(appBuilder); //ConfigureWindowsAuth(appBuilder); var builder = new ContainerBuilder(); var config = new HttpConfiguration(); config.Formatters.JsonFormatter.SupportedMediaTypes .Add(new MediaTypeHeaderValue("text/html")); config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.InitializeCustomWebHooks(); config.InitializeCustomWebHooksSqlStorage(); config.InitializeCustomWebHooksApis(); Collection <TimeSpan> retries = new Collection <TimeSpan> { TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(20) }; ILogger logger = config.DependencyResolver.GetLogger(); IWebHookStore store = config.DependencyResolver.GetStore(); IWebHookSender sender = new ScionWebHookSender(logger, store, retries, null); IWebHookManager manager = new ScionWebhookManager(store, sender, logger); builder.RegisterInstance(manager).As <IWebHookManager>().SingleInstance(); builder.RegisterInstance(sender).As <IWebHookSender>().SingleInstance(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()).InstancePerRequest(); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); config.EnsureInitialized(); appBuilder.UseAutofacMiddleware(container); appBuilder.UseAutofacWebApi(config); appBuilder.UseCors(CorsOptions.AllowAll); appBuilder.UseWebApi(config); }