public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); var container = UnityConfiguration.GetContainer(); InitLogging(container); config.DependencyResolver = new UnityDependencyResolver(container); ApiConfiguration.Install(config, app); app.UseWebApi(config); }
public static void Install(HttpConfiguration config, IAppBuilder app) { WebApiUnityActionFilterProvider.RegisterFilterProviders(config); app.MapSignalR(); config.Filters.Add(new HandleErrorAttribute(UnityConfiguration.GetContainer().Resolve <ILoggerFactory>())); app.UseCors(CorsOptions.AllowAll); config.SuppressHostPrincipal(); IIdentityService identityService = UnityConfiguration.GetContainer().Resolve <IIdentityService>(); Lazy <IAuthConfiguration> lazyAuthConfiguration = UnityConfiguration.GetContainer().Resolve <Lazy <IAuthConfiguration> >(); config .EnableSwagger(c => c.SingleApiVersion("v1", "DigitalArchitecture")) .EnableSwaggerUi(); app.UseOAuthAuthorizationServer(new OAuthOptions(lazyAuthConfiguration, identityService)); app.UseJwtBearerAuthentication(new JwtOptions(lazyAuthConfiguration)); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); var jSettings = new JsonSerializerSettings(); jSettings.Formatting = Formatting.Indented; jSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Formatters.Remove(config.Formatters.XmlFormatter); config.Formatters.JsonFormatter.SerializerSettings = jSettings; config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}"); }
public static void RegisterFilterProviders(HttpConfiguration config) { var providers = config.Services.GetFilterProviders().ToList(); config.Services.Add(typeof(System.Web.Http.Filters.IFilterProvider), new WebApiUnityActionFilterProvider(UnityConfiguration.GetContainer())); var defaultprovider = providers.First(p => p is ActionDescriptorFilterProvider); config.Services.Remove(typeof(System.Web.Http.Filters.IFilterProvider), defaultprovider); }