public void Configuration(IAppBuilder app) { var serviceCollection = new ServiceCollection(); if (_registerApiControllerAssemblyPredicate != null) { serviceCollection.Builder.RegisterApiControllers( AppDomain.CurrentDomain .GetAssemblies() .Where(_registerApiControllerAssemblyPredicate) .ToArray()); } ConfigureServices(serviceCollection); var mapper = new MapperConfiguration(serviceCollection.MapperConfiguration).CreateMapper(); serviceCollection.Builder.RegisterInstance(mapper).As <IMapper>().SingleInstance(); var config = new HttpConfiguration(); var applicationBuilder = new WebApplicationBuilder(app, serviceCollection, config); app.UseAutofacMiddleware(applicationBuilder.Services); Configure(applicationBuilder); config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Formatters.JsonFormatter.UseDataContractJsonSerializer = false; config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Include; applicationBuilder.MapHttpAttributeRoutesForRegisteredApiControllers(config); applicationBuilder.MapRegisteredApiRoutes(config); app.UseAutofacWebApi(config); app.UseWebApi(config); ConfigureFinalMiddleware(app); }