AspComet.Samples.Chat.Global.SetupIoCContainer C# (CSharp) Method

SetupIoCContainer() private static method

private static SetupIoCContainer ( ) : void
return void
        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();
        }