public void Configuration(IAppBuilder app) { var builder = new ContainerBuilder(); GlobalConfiguration.Configure(WebApiConfig.Register); var config = GlobalConfiguration.Configuration; builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterWebApiFilterProvider(config); builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterInstance(new GameService()).As<IGameService>().SingleInstance(); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); GlobalHost.DependencyResolver = new AutofacDependencyResolver(container); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var hubConfig = new HubConfiguration(); hubConfig.Resolver = new AutofacDependencyResolver(container); app.UseAutofacMiddleware(container); app.MapSignalR(); }
public void Register(ContainerBuilder builder) { builder.RegisterModule<NLogModule>(); builder.RegisterEventing(); builder.RegisterApiControllers(ThisAssembly); builder.RegisterLifetimeHubManager(); builder.RegisterHubs(ThisAssembly); builder.RegisterType<HomeControlServiceController>(); builder.RegisterType<ZWaveNotificationService>(); builder.RegisterAssemblyTypes(typeof(DependencyRegistrar).Assembly) .Named<AbstractZWaveNotification>(t => t.Name); builder.Register(ctx => { HomeControlConfiguration hcCfg = null; try { hcCfg = (HomeControlConfiguration)ConfigurationManager.GetSection("HomeControl"); } catch (Exception ex) { LogManager.GetCurrentClassLogger().Fatal(ex); } return hcCfg ?? new HomeControlConfiguration(); }).As<HomeControlConfiguration>(); builder.Register(ctx => ctx.Resolve<HomeControlConfiguration>().ZWaveConfiguration); builder.Register(ctx => ctx.Resolve<HomeControlConfiguration>().WebApi); builder.RegisterType<OpenZWaveConfigurator>(); }
public static void Configure() { var builder = new ContainerBuilder(); // Register MVC controllers and other stuffs builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterHubs(Assembly.GetExecutingAssembly()); // Register repositories builder.RegisterType<UserRepository>().As<IUserRepository>().InstancePerHttpRequest(); builder.RegisterType<AttachmentRepository>().As<IAttachmentRepository>().InstancePerHttpRequest(); builder.RegisterType<ActivityRepository>().As<IActivityRepository>().InstancePerHttpRequest(); // Register other components builder.RegisterType<Configuration>().As<IConfiguration>(); builder.RegisterType<FluentDbMigrator>().As<IDbMigrator>(); #if DEBUG builder.RegisterType<AppDataAttachmentStorage>().As<IAttachmentStorage>(); #else builder.RegisterType<AzureBlobAttachmentStorage>().As<IAttachmentStorage>(); #endif var container = builder.Build(); DependencyResolver.SetResolver(new Autofac.Integration.Mvc.AutofacDependencyResolver(container)); GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container); // Run migrations var migrator = container.Resolve<IDbMigrator>(); migrator.Run(); }
public void Configuration(IAppBuilder app) { ConfigureLogger(); var builder = new ContainerBuilder(); builder.RegisterLogger(); builder.RegisterByAttributes(typeof (Startup).Assembly); builder.RegisterAssemblyModules(typeof (Startup).Assembly); builder.RegisterHubs(typeof (Startup).Assembly); var container = builder.Build(); // config hubs var config = new HubConfiguration(); config.Resolver = new AutofacDependencyResolver(container); app.UseJwtTokenAuthentication(container.Resolve<IssuerSetting>(), container.Resolve<AudienceSetting>(), container.Resolve<ClientSecretSetting>(), container.Resolve<ICurrentUserProvider>()); app.MapSignalR(config); app.UseNancy(new NancyOptions { Bootstrapper = new NancyBootstrapper(container) }); app.UseStageMarker(PipelineStage.MapHandler); app.UseCors(CorsOptions.AllowAll); JsonSettings.RetainCasing = false; SeedData(container); }
private void RegisterAutoFac() { var builder = new ContainerBuilder(); builder.RegisterHubs(Assembly.GetExecutingAssembly()); var container = builder.Build(); var resolver = new AutofacDependencyResolver(container); GlobalHost.DependencyResolver = resolver; }
private static IContainer RegisterDependencies() { var builder = new ContainerBuilder(); builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.Register(c => new AccountNumberUserIdProvider()).AsImplementedInterfaces(); builder.RegisterModule(new ServiceBusModule(Assembly.GetExecutingAssembly())); return builder.Build(); }
/// <summary> /// 重写以实现设置SignalR框架的DependencyResolver /// </summary> /// <param name="assemblies"></param> protected override void SetResolver(Assembly[] assemblies) { ContainerBuilder builder = new ContainerBuilder(); builder.RegisterHubs(assemblies).AsSelf().PropertiesAutowired(); builder.Update(Container); IDependencyResolver resolver = new global::Autofac.Integration.SignalR.AutofacDependencyResolver(Container); GlobalHost.DependencyResolver = resolver; }
private static void OnStart() { var builder = new Autofac.ContainerBuilder(); builder.RegisterHubs(System.Reflection.Assembly.GetAssembly(typeof(FNE.Eventing.EventBroker))); builder.RegisterType<NLogLoggingProvider>().AsImplementedInterfaces().InstancePerDependency(); Microsoft.AspNet.SignalR.GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(builder.Build()); }
private static void OnStart() { var builder = new Autofac.ContainerBuilder(); builder.RegisterHubs(System.Reflection.Assembly.GetAssembly(typeof(FNE.Eventing.EventBroker))); builder.RegisterType <NLogLoggingProvider>().AsImplementedInterfaces().InstancePerDependency(); Microsoft.AspNet.SignalR.GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(builder.Build()); }
private static IContainer RegisterServices(ContainerBuilder builder) { builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterType<ChatEntitiesContext>().As<IEntitiesContext>(); builder.RegisterGeneric(typeof(EntityRepository<>)).As(typeof(IEntityRepository<>)); builder.RegisterType<MembershipService>().As<IMembershipService>(); return builder.Build(); }
/// <summary> /// 构建服务并设置SignalR平台的Resolver /// </summary> /// <param name="services">服务映射信息集合</param> /// <param name="assemblies">要检索的程序集集合</param> protected override IServiceProvider BuildAndSetResolver(IServiceCollection services, Assembly[] assemblies) { ContainerBuilder builder = new ContainerBuilder(); builder.RegisterHubs().AsSelf().PropertiesAutowired(); builder.Populate(services); IContainer container = builder.Build(); IDependencyResolver resolver = new AutofacDependencyResolver(container); GlobalHost.DependencyResolver = resolver; return resolver.Resolve<IServiceProvider>(); }
public static IContainer RegisterDependencies() { var builder = new ContainerBuilder(); builder.RegisterType<TestClass>(); // Register your SignalR hubs. builder.RegisterHubs(Assembly.Load("SignalRChat.Web")); return builder.Build(); }
public static IContainer Register(IAppBuilder app, HttpConfiguration httpConfigurations) { var builder = new ContainerBuilder(); var assembly = Assembly.GetExecutingAssembly(); // web api controllers builder.RegisterApiControllers(assembly); // SignalR all hubs builder.RegisterHubs(assembly); // application related builder .RegisterType<TraceLogger>() .As<ILogger>() .SingleInstance(); builder .RegisterType<InMemoryCounter>() .As<IDistributedCounter>() .SingleInstance(); builder .RegisterType<AzureDocumentDb>() .As<IDocumentsService>() .SingleInstance() .WithParameters(new Parameter[] { new PositionalParameter(0 , Environment.GetEnvironmentVariable("DOCUMENT_DB_ENDPOINT")), new PositionalParameter(1, Environment.GetEnvironmentVariable("DOCUMENT_DB_ACCESS_KEY")), new PositionalParameter(2, Environment.GetEnvironmentVariable("DOCUMENT_DB_NAME") ?? "development")}); builder .RegisterType<AzureTableStorageService>() .As<ITableService>() .SingleInstance() .WithParameter("connectionString", Environment.GetEnvironmentVariable("STORAGE_CONNECTION_STRING") ?? "UseDevelopmentStorage=true"); builder .RegisterType<AzureServiceBusSubscriptionService>() .As<ISubscriptionService>() .SingleInstance() .WithParameter("connectionString", Environment.GetEnvironmentVariable("SERVICEBUS_CONNECTION_STRING")); var container = builder.Build(); // resolving in OWIN middleware app.UseAutofacMiddleware(container); // web api registration httpConfigurations.DependencyResolver = new AutofacWebApiDependencyResolver(container); return container; }
public void Configuration(IAppBuilder application) { application.SetDefaultSignInAsAuthenticationType(DefaultAuthenticationTypes.ApplicationCookie); application.UseCookieAuthentication(new CookieAuthenticationOptions() { AuthenticationMode = AuthenticationMode.Active, AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/"), }); var options = new GitHubAuthenticationOptions() { AuthenticationMode = AuthenticationMode.Active, AuthenticationType = "GitHub", SignInAsAuthenticationType = application.GetDefaultSignInAsAuthenticationType(), ClientId = ConfigurationManager.AppSettings["clientId"], ClientSecret = ConfigurationManager.AppSettings["clientSecret"], Provider = new GitHubAuthenticationProvider { OnAuthenticated = context => { context.Identity.AddClaim(new Claim("urn:github:avatar_url", context.User["avatar_url"].ToString())); context.Identity.AddClaim(new Claim("urn:github:acess_token", context.AccessToken)); return Task.FromResult(0); } } }; options.Scope.Clear(); application.UseGitHubAuthentication(options); var builder = new ContainerBuilder(); builder.RegisterHubs(Assembly.GetExecutingAssembly()); var container = builder.Build(); application.Map("/signalr", map => { map.UseCors(CorsOptions.AllowAll); var hubConfiguration = new HubConfiguration() { Resolver = new AutofacDependencyResolver(container) }; map.RunSignalR(hubConfiguration); }).UseNancy(new NancyOptions() { Bootstrapper = new Bootstrapper(container) }); }
public static IContainer Create() { var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterType<UserInMemoryRepository>().As<IUserRepository>().SingleInstance(); builder.RegisterType<AzureTableStorageMessageRepository>().As<IMessageRepository>().InstancePerLifetimeScope(); builder.RegisterType<CloudTableFactory>().As<ICloudTableFactory>().SingleInstance(); return builder.Build(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterType<ImageCache>().SingleInstance(); //var messageBus = new MessageBus(); //builder // .RegisterInstance(messageBus) // .AsSelf(); //builder // .RegisterType(typeof(TestService)) // .AsSelf(); }
public static void Bootstrap(Assembly entryAssembly) { var builder = new ContainerBuilder(); builder.RegisterControllers(entryAssembly); builder.RegisterLifetimeHubManager(); builder.RegisterHubs(entryAssembly); builder.RegisterAssemblyModules(typeof(DependencyInjectionConfiguration).Assembly); builder.RegisterAssemblyModules(entryAssembly); var container = builder.Build(); GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container); DependencyResolver.SetResolver(new Autofac.Integration.Mvc.AutofacDependencyResolver(container)); }
private void ConfigureIOC() { var autofacContainerBuilder = new ContainerBuilder(); var builder = new ContainerBuilder(); builder.RegisterAssemblyTypes(typeof(IDAO).Assembly) .AsImplementedInterfaces().InstancePerDependency(); builder.RegisterHubs(Assembly.GetExecutingAssembly()); var container = builder.Build(); GlobalHost.DependencyResolver = new AutofacDependencyResolver(container); _container = autofacContainerBuilder.Build(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); // Register the SignalR hubs. builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()) .Where(t => t.Name.EndsWith("Repository", StringComparison.Ordinal)) .AsImplementedInterfaces(); builder.RegisterType<FeatureApplicationServices>().AsImplementedInterfaces(); builder.RegisterType<CommandSender>().As<ICommandSender>(); var innerBuilder = new ContainerBuilder(); innerBuilder.RegisterTypes(ThisAssembly.GetTypes().Where(_ => typeof(IHubBroadcasterFor).IsAssignableFrom(_)).ToArray()) .As<IHubBroadcasterFor>(); innerBuilder.RegisterTypes(ThisAssembly.GetTypes().Where(_ => typeof(IDatabaseBroadcasterFor).IsAssignableFrom(_)).ToArray()) .As<IDatabaseBroadcasterFor>(); innerBuilder.RegisterTypes(ThisAssembly.GetTypes().Where(_ => typeof(IHistoryBroadcasterFor).IsAssignableFrom(_)).ToArray()) .As<IHistoryBroadcasterFor>(); IContainer innerContainer = innerBuilder.Build(); var eventHandlers = new IEventHandler[] { new DatabaseEventHandler(innerContainer.Resolve<IEnumerable<IDatabaseBroadcasterFor>>()), new HubEventHandler(innerContainer.Resolve<IEnumerable<IHubBroadcasterFor>>()), new HistoryEventHandler(innerContainer.Resolve<IEnumerable<IHistoryBroadcasterFor>>()) }; var dispatcher = new NEventStoreDispatcher(eventHandlers); var nEventStore = Wireup.Init() .LogToOutputWindow() .UsingSqlPersistence("FeatureBeeContext") .WithDialect(new MsSqlDialect()) .InitializeStorageEngine() // .EnlistInAmbientTransaction() .UsingJsonSerialization() .UsingSynchronousDispatchScheduler() .DispatchTo(new DelegateMessageDispatcher(dispatcher.DispatchCommit)) .Build(); builder.RegisterInstance(nEventStore); }
public void Configuration(IAppBuilder app) { var builder = new ContainerBuilder(); var config = new HubConfiguration(); builder.RegisterHubs(Assembly.GetExecutingAssembly()); builder.RegisterType<ChatMessageAzureTableRepository>().SingleInstance().As<IChatMessagePersister>(); builder.RegisterType<UserAzureTableRepository>().SingleInstance().As<IUserPersister>(); var container = builder.Build(); GlobalHost.DependencyResolver = new AutofacDependencyResolver(container); app.MapSignalR(); }
private static IContainer RegisterServices(ContainerBuilder builder) { builder.RegisterHubs(Assembly.GetExecutingAssembly()); JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat, ContractResolver = new CamelCasePropertyNamesContractResolver() }); // The hub will create a lifetime scope manually in its constructor to resolve the IFoo and IBar services. builder.RegisterType<Broadcaster>().As<IBroadcaster>().InstancePerLifetimeScope(); builder.RegisterType<Foo>().As<IFoo>().InstancePerLifetimeScope(); builder.RegisterType<Bar>().As<IBar>().InstancePerLifetimeScope(); builder.Register(c => serializer).As<JsonSerializer>(); return builder.Build(); }
public void Configuration(IAppBuilder app) { var httpConfiguration = new HttpConfiguration(); // Configure Web API Routes: // - Enable Attribute Mapping // - Enable Default routes at /api. httpConfiguration.MapHttpAttributeRoutes(); httpConfiguration.Routes.MapHttpRoute( name: "AlgorithmApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterHubs(Assembly.GetExecutingAssembly()); var config = new HubConfiguration(); Bootstrap(builder); var container = builder.Build(); httpConfiguration.DependencyResolver = new AutofacWebApiDependencyResolver(container); config.Resolver = new AutofacDependencyResolver(container); app.UseAutofacMiddleware(container); app.UseAutofacWebApi(httpConfiguration); app.UseWebApi(httpConfiguration); app.MapSignalR("/signalr", config); // Make ./public the default root of the static files in our Web Application. app.UseFileServer(new FileServerOptions { RequestPath = new PathString(string.Empty), FileSystem = new PhysicalFileSystem("./public"), EnableDirectoryBrowsing = true, }); app.UseStageMarker(PipelineStage.MapHandler); }
protected override void Load(ContainerBuilder builder) { builder.RegisterHubs(ThisAssembly); builder.RegisterGeneric(typeof(HubContext<>)) .As(typeof(HubContext<>)) .SingleInstance(); builder.RegisterAssemblyTypes(ThisAssembly) .AssignableTo<Broadcaster>() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(ThisAssembly) .Where(t => t.IsAssignableTo<HubPipelineModule>()) .AsSelf() .As<HubPipelineModule>() .SingleInstance(); }
/// <summary> /// 构建服务并设置SignalR平台的Resolver /// </summary> /// <param name="services">服务映射信息集合</param> /// <param name="assemblies">要检索的程序集集合</param> protected override IServiceProvider BuildAndSetResolver(IServiceCollection services, Assembly[] assemblies) { ContainerBuilder builder = new ContainerBuilder(); builder.RegisterHubs(assemblies).AsSelf().PropertiesAutowired(); builder.RegisterLifetimeHubManager(); builder.Populate(services); IContainer container = builder.Build(); IDependencyResolver resolver = new AutofacDependencyResolver(container); GlobalHost.DependencyResolver = resolver; SignalRIocResolver.LifetimeResolveFunc = type => { ILifetimeScope scope = CallContext.LogicalGetData(LifetimeHubManager.LifetimeScopeKey) as ILifetimeScope; if (scope == null) { return null; } return scope.ResolveOptional(type); }; return resolver.Resolve<IServiceProvider>(); }
private IContainer BuildContainer() { var builder = new ContainerBuilder(); builder.RegisterType<SlackWebHookHandler>().As<IWebHookHandler>(); //Register the MVC controllers builder.RegisterControllers(Assembly.GetExecutingAssembly()); //Register the Web API controllers builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); //Register the SignalR hubs builder.RegisterHubs(Assembly.GetExecutingAssembly()); // Get settings from config var serviceBusConnectionString = ConfigurationManager.AppSettings["Microsoft.ServiceBus.ConnectionString"]; var discoQueueName = ConfigurationManager.AppSettings["DiscoTopicName"]; var discoTriggers = ConfigurationManager.AppSettings["DiscoTriggers"]; builder.Register(context => new GlobalSettings(serviceBusConnectionString, discoQueueName, discoTriggers)).As<IGlobalSettings>(); builder.RegisterType<TopicService>().As<ITopicService>(); //ServiceBus NamespaceManager and MessagingFactory builder.RegisterInstance(MessagingFactory.CreateFromConnectionString(serviceBusConnectionString)).As<MessagingFactory>(); builder.RegisterInstance(NamespaceManager.CreateFromConnectionString(serviceBusConnectionString)).As<NamespaceManager>(); builder.RegisterType<MessageWrapper>().As<IMessageWrapper>().SingleInstance(); // Processors builder.RegisterType<NotificationProcessor>().As<IProcessor>().SingleInstance(); builder.RegisterType<DiscoProcessor>().As<IProcessor>().SingleInstance(); builder.RegisterModule(new QuartzAutofacFactoryModule()); builder.RegisterModule(new QuartzAutofacJobsModule(typeof(StopDiscoJob).Assembly)); _container = builder.Build(); return _container; }
public static void Register(HttpConfiguration config) { var builder = new ContainerBuilder(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterHubs(Assembly.GetExecutingAssembly()); string domainUser = WebConfigurationManager.AppSettings["domainUser"]; string password = WebConfigurationManager.AppSettings["pwd"]; string vmmServerName = WebConfigurationManager.AppSettings["vmmserver"]; string connectionString = WebConfigurationManager.ConnectionStrings["VMMDBConnection"].ConnectionString; builder.Register(p => new PowerShellProvider(domainUser, password, vmmServerName)).As<IProvider<PSCommand>>().InstancePerLifetimeScope(); builder.Register(p => new DapperProvider(connectionString)).As<IProvider<DapperCommand>>().InstancePerLifetimeScope(); #if DEBUG builder.RegisterType<TestMonitoringService>().As<IMonitoringService>().SingleInstance(); builder.RegisterType<TestHostService>().As<IHostService>().InstancePerApiRequest(); //builder.RegisterType<HostService>().As<IHostService>().InstancePerApiRequest(); //builder.RegisterType<SPMonitoringService>().As<IMonitoringService>().SingleInstance(); //builder.RegisterType<MonitoringService>().As<IMonitoringService>().SingleInstance(); #else builder.RegisterType<HostService>().As<IHostService>().OnActivating(e => e.Instance.SetServer(vmmServerName)).InstancePerApiRequest(); builder.RegisterType<SPMonitoringService>().As<IMonitoringService>().SingleInstance(); #endif builder.RegisterType<DefaultRememberService>().As<IRememberService>().SingleInstance(); builder.RegisterFilterProvider(); var container = builder.Build(); DependencyResolver.SetResolver(new Autofac.Integration.Mvc.AutofacDependencyResolver(container)); GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public static IContainer RegisterServices() { var builder = new ContainerBuilder(); var currentAssembly = Assembly.GetExecutingAssembly(); // Register all referenced Autofac modules //BuildManager.GetReferencedAssemblies().Cast<Assembly>(); var assemblies = AppDomain.CurrentDomain .GetAssemblies() .Where(asm => asm.FullName.StartsWith("RulesMapper", StringComparison.OrdinalIgnoreCase)) .ToArray(); builder.RegisterAssemblyModules(assemblies); // Register Hubs as Keyed Services since HubContext is non-generic builder.Register(c => GlobalHost.ConnectionManager.GetHubContext<EventsHub>()) .Keyed<IHubContext>("EventsHub"); // Register MVC Controllers builder.RegisterControllers(currentAssembly); // Register Web API Controllers builder.RegisterApiControllers(currentAssembly); // Register SignalR Hubs builder.RegisterHubs(currentAssembly); builder.RegisterType<AppSettingsConfigurationSource>().As<IConfigurationSource>() .SingleInstance(); var container = builder.Build(); DependencyResolver.SetResolver(new Autofac.Integration.Mvc.AutofacDependencyResolver(container)); GlobalHost.DependencyResolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container); return container; }
protected override void Load(ContainerBuilder builder) { // Register your SignalR hubs. builder.RegisterHubs(_assembliesToScan); }
public void Configuration(IAppBuilder app) { ContainerBuilder builder = new ContainerBuilder(); HubConfiguration config = new HubConfiguration(); //Setup DI for the types in this assembly builder.RegisterHubs(typeof(MvcApplication).Assembly); builder.RegisterApiControllers(typeof(MvcApplication).Assembly); builder.RegisterControllers(typeof(MvcApplication).Assembly); //Mvc Filters and exception handling. builder.Register(c => new HandleErrorAttribute()).AsExceptionFilterFor<Controller>().InstancePerRequest(); builder.RegisterFilterProvider(); string documentDBUrl = ConfigurationManager.AppSettings["DocumentDB:url"]; string documentDBKey = ConfigurationManager.AppSettings["DocumentDB:key"]; string mongoDbConnectionString = ConfigurationManager.AppSettings["MongoDB"]; builder.RegisterType<RosterDocumentContext>().SingleInstance(); builder.RegisterType<MongoDBDocumentProvider>() .As<IDocumentProvider>() .WithParameter("connectionString", mongoDbConnectionString); //builder.RegisterType<RosterContext>(); IContainer container = builder.Build(); //SignalR Resolver config.Resolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container); //MVC Resolver DependencyResolver.SetResolver(new Autofac.Integration.Mvc.AutofacDependencyResolver(container)); //WebApi resolver GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); //WebApi Config HttpConfiguration httpConfig = new HttpConfiguration(); WebApiConfig.RegisterRoutes(httpConfig); httpConfig.DependencyResolver = new AutofacWebApiDependencyResolver(container); //Setup camel case javascript httpConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); app.UseWebApi(httpConfig); //Owin middleware resolver app.UseAutofacMiddleware(container); //Use Signalr in the application app.MapSignalR(config); //Setup global dependency resolver for signalr GlobalHost.DependencyResolver = config.Resolver; MvcApplication.Container = container; BusConfiguration busConfig = new BusConfiguration(); busConfig.UseSerialization<JsonSerializer>(); busConfig.EndpointName("Roster.Web"); busConfig.UsePersistence<InMemoryPersistence>(); MvcApplication.StartableBus = Bus.Create(busConfig); MvcApplication.Bus = MvcApplication.StartableBus.Start(); }
static void BuildContainer() { _fileService = new Drey.Server.Services.FilesytemFileService(PACKAGES_DIR); ContainerBuilder cb = new ContainerBuilder(); cb.RegisterInstance(_fileService); cb.RegisterType<Drey.Server.EventBus>().AsImplementedInterfaces().SingleInstance(); cb.RegisterType<Stores.ReleasesStore>().AsImplementedInterfaces(); cb.RegisterType<Drey.Server.Services.PackageService>().AsImplementedInterfaces(); cb.RegisterType<Services.ClientHealthService>().AsImplementedInterfaces(); cb.RegisterType<Services.GroupMembershipService>().AsImplementedInterfaces(); cb.RegisterType<Infrastructure.SampleClientRegistry>().AsImplementedInterfaces().SingleInstance(); cb.RegisterType<Drey.Server.Services.AnonymousNugetApiClaimsValidator>().AsImplementedInterfaces(); var serverASM = Assembly.LoadFrom(Path.Combine(Environment.CurrentDirectory, "Drey.Server.Hubs.dll")); cb.RegisterAssemblyTypes(serverASM) .Where(t => t.Name.EndsWith("Director")) .AsImplementedInterfaces(); cb.RegisterHubs(serverASM); _container = cb.Build(); }
private void Bootstrap(ContainerBuilder builder) { builder.RegisterHubs(Assembly.GetExecutingAssembly()); }