internal void AddServiceHostBuilder(Type builder, bool force) { if (typeof(IServiceHostBuilder).IsAssignableFrom(builder) == false) { throw new ArgumentException(string.Format( "The type {0} does not represent an IServiceHostBuilder.", builder.FullName), "builder"); } var serviceHostBuilder = WcfUtils.GetClosedGenericDefinition(typeof(IServiceHostBuilder <>), builder); if (serviceHostBuilder == null) { throw new ArgumentException(string.Format( "The service model cannot be inferred from the builder {0}. Did you implement IServiceHostBuilder<>?", builder.FullName), "builder"); } if (kernel == null) { afterInit += () => RegisterServiceHostBuilder(serviceHostBuilder, builder, force); } else { RegisterServiceHostBuilder(serviceHostBuilder, builder, force); } }