private static void SetupIoCContainer() { ContainerBuilder builder = new ContainerBuilder(); // Let AspComet put its registrations into the container foreach (ServiceMetadata metadata in ServiceMetadata.GetMinimumSet()) { if (metadata.IsPerRequest) { builder.RegisterType(metadata.ActualType).As(metadata.ServiceType); } else { builder.RegisterType(metadata.ActualType).As(metadata.ServiceType).SingleInstance(); } } // Add our own stuff to the container builder.RegisterType <AuthenticatedClientFactory>().As <IClientFactory>().SingleInstance(); builder.RegisterType <HandshakeAuthenticator>().SingleInstance(); builder.RegisterType <BadLanguageBlocker>().SingleInstance(); builder.RegisterType <SubscriptionChecker>().SingleInstance(); builder.RegisterType <Whisperer>().SingleInstance(); // Set up the common service locator container = builder.Build(); }