public void Configuration(IAppBuilder app) { LogConfigurator.ConfigureForWeb(Assembly.GetExecutingAssembly().GetName().Name); Log.Information("Application_Start"); ConfigureSecurity(app); app.UseSwaggerUi3(new[] { typeof(ExternalController) }, settings => { settings.GeneratorSettings.DefaultUrlTemplate = "api/{controller}/{action}/{id?}"; settings.GeneratorSettings.Title = "Viaduc REST API"; settings.GeneratorSettings.Description = @"The API lets you search the Swiss Federal Archives."; settings.GeneratorSettings.Version = "1.0"; settings.PostProcess = doc => { doc.Servers.Clear(); doc.Servers.Add(new OpenApiServer { // Basis-URL der Doku auf BAR-Umgebungen stimmen sonst nicht Url = WebHelper.SwaggerBaseUrl }); }; settings.GeneratorSettings.SerializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; }, new SwaggerJsonSchemaGenerator(new JsonSchemaGeneratorSettings())); BusConfig.Configure(NinjectWebCommon.Kernel); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(cfg => { cfg.Services.Add(typeof(IExceptionLogger), new CustomExceptionLogger()); cfg.Services.Replace(typeof(IExceptionHandler), new CustomExceptionHandler()); WebApiConfig.Register(cfg); }); WebConfig.Configure(); BundleConfig.RegisterBundles(BundleTable.Bundles); JsonConvert.DefaultSettings = () => new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; RoutingHelper.Initialize(); }
private static void RegisterDependencyResolver() { var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterWebApiModelBinderProvider(); builder.RegisterBus(); builder.RegisterFrontendInjectables(); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); BusConfig.StartBus(container); }