public void HttpConfiguration_ReplaceServices() { var configuration = new HttpConfiguration(); ServicesConfig.Register(configuration); Assert.That(configuration.Services.GetExceptionLoggers(), Has.Some.TypeOf <ErrorsHandling.ExceptionLogger>()); Assert.That(configuration.Services.GetExceptionHandler(), Is.TypeOf <ErrorsHandling.ExceptionHandler>()); }
public void Container_ReturnsTheSameInstanceOfTypeRegisteredAsSingletonOnEachCall() { var configuration = new HttpConfiguration(); ServicesConfig.Register(configuration); IUnityContainer container = configuration.DependencyResolver.GetService <IUnityContainer>(); container.RegisterType <IFoo, Foo>(new ContainerControlledLifetimeManager()); var a = configuration.DependencyResolver.GetService <IFoo>(); var b = configuration.DependencyResolver.GetService <IFoo>(); Assert.AreSame(a, b); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); BundleConfigAuthorPortal.RegisterBundles(BundleTable.Bundles); BundleConfigPortalAdmin.RegisterBundles(BundleTable.Bundles); BundleConfigUserPortal.RegisterBundles(BundleTable.Bundles); BundleConfigWidget.RegisterBundles(BundleTable.Bundles); BundleConfigWix.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); //JSON Settings var jsonSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore , ReferenceLoopHandling = ReferenceLoopHandling.Ignore , Formatting = Formatting.Indented , PreserveReferencesHandling = PreserveReferencesHandling.Objects }; GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings = jsonSettings; // initializing dependency injection container var builder = new ContainerBuilder(); // registration all the existing controllers builder.RegisterControllers(Assembly.GetExecutingAssembly()); //Repositories registration AppExtensions.RegisterRepositories(builder); // NLog service registration builder.Register(c => new NLogLogger()).AsSelf().InstancePerRequest(); //Services ServicesConfig.Register(builder); // build the dependencies var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // Get your HttpConfiguration. var config = GlobalConfiguration.Configuration; config.DependencyResolver = new AutofacWebApiDependencyResolver(container); // Register your Web API controllers. builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); // OPTIONAL: Register the Autofac filter provider. builder.RegisterWebApiFilterProvider(config); if (!WebSecurity.Initialized) { WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "Email", autoCreateTables: false); } FacebookConfig.Register(GlobalFacebookConfiguration.Configuration); AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier; }