// Please set the following connection strings in app.config for this WebJob to run: // AzureWebJobsDashboard and AzureWebJobsStorage static void Main() { _servicesBusConnectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.ServiceBus); _namespaceManager = NamespaceManager.CreateFromConnectionString(_servicesBusConnectionString); InitializeQueue(); JobHostConfiguration configuration = new JobHostConfiguration { DashboardConnectionString = "", StorageConnectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.Storage) }; //configuration.StorageConnectionString = ConfigurationManager.ConnectionStrings[""] ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration { ConnectionString = _servicesBusConnectionString }; configuration.UseServiceBus(serviceBusConfig); configuration.JobActivator = new AutofacJobActivator(AutofacContainerBuilder.BuildContainer()); var host = new JobHost(configuration); // The following code ensures that the WebJob will be running continuously host.RunAndBlock(); }
public static IContainerBuilder Init() { var builder = new AutofacContainerBuilder(); builder.Register <IMotorcyclePayload>(new MotorcyclePayload()); builder.RegisterSingleton <ITabBarViewModel, TabBarViewModel>(); builder.RegisterSingleton <IHomeViewModel, HomeViewModel>(); builder.RegisterSingleton <IStartViewModel, StartViewModel>(); builder.RegisterSingleton <IEditMotorcycleViewModel, EditMotorcycleViewModel>(); builder.RegisterSingleton <INavStartViewModel, NavStartViewModel>(); builder.RegisterSingleton <INav1ViewModel, Nav1ViewModel>(); builder.RegisterSingleton <INav1AViewModel, Nav1AViewModel>(); builder.RegisterSingleton <INav1BViewModel, Nav1BViewModel>(); builder.RegisterSingleton <INav1CViewModel, Nav1CViewModel>(); builder.RegisterSingleton <INav2ViewModel, Nav2ViewModel>(); builder.RegisterSingleton <INav2AViewModel, Nav2AViewModel>(); builder.RegisterSingleton <INav2BViewModel, Nav2BViewModel>(); builder.RegisterSingleton <INav2CViewModel, Nav2CViewModel>(); builder.RegisterSingleton <INav3ViewModel, Nav3ViewModel>(); builder.RegisterSingleton <INav3AViewModel, Nav3AViewModel>(); builder.RegisterSingleton <INav3BViewModel, Nav3BViewModel>(); builder.RegisterSingleton <INav3CViewModel, Nav3CViewModel>(); return(builder); }
private void BuildAutofacContainerAndStartActivityService() { // INFO: Doing the IoC container building here AutofacContainerBuilder builder = new AutofacContainerBuilder(); this.container = builder.BuildContainer(); }
private void RegisterDependencies() { //Register each DP as the type it selected to expose foreach (DependencyTypePair dtp in TypePairs) { AutofacContainerBuilder.RegisterInstance(dtp.Behaviour) .As(dtp.SelectedType); } //the IoC container visits each dependency registeration object //This allows the registeration logic to be handled differently foreach (var nbd in NonBehaviourDependencies) { nbd.Register(AutofacContainerBuilder); } //Register the GameObjectFactory and ComponentFactory too AutofacContainerBuilder.Register(context => new DefaultGameObjectFactory(context.Resolve <IComponentContext>(), new DefaultInjectionStrategy())) .As <IGameObjectFactory>() .SingleInstance(); AutofacContainerBuilder.Register(context => new DefaultGameObjectComponentAttachmentFactory(context.Resolve <IComponentContext>(), new DefaultInjectionStrategy())) .As <IGameObjectComponentAttachmentFactory>() .SingleInstance(); AutofacContainerBuilder.Register(context => new DefaultManualInjectionStrategy(context.Resolve <IComponentContext>())) .As <IManualInjectionStrategy>() .SingleInstance(); BuiltContainerResolver = AutofacContainerBuilder.Build(); }
public IServiceProvider ConfigureServices(IServiceCollection services) { var builder = new AutofacContainerBuilder(); var providerConfiguration = Configuration.GetSection("Vedaantees").Get <ProviderConfiguration>(); providerConfiguration.ModulesFolder = string.Empty; var bootstrapper = new ProviderBootstrapper(builder, providerConfiguration); bootstrapper.Load(_env); services.AddMvc().AddRazorOptions(options => { options.ViewLocationFormats.Clear(); options.ViewLocationFormats.Add("/Presentation/{0}.cshtml"); }); services.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddIdentityServer() .AddDeveloperSigningCredential() .AddInMemoryIdentityResources(IdentityServerConfiguration.GetIdentityResources()) .AddInMemoryApiResources(IdentityServerConfiguration.GetApiResources()) .AddInMemoryClients(IdentityServerConfiguration.GetClients(Configuration.GetSection("Clients").Get <List <string> >())); services.AddTransient <IResourceOwnerPasswordValidator, UserStore>() .AddTransient <IProfileService, UserStore>(); builder.RegisterInstance <IConfiguration>(Configuration); builder.Builder.Populate(services); ApplicationContainer = builder.Build(); bootstrapper.InitializeFramework(ApplicationContainer); return(new AutofacServiceProvider(ApplicationContainer)); }
public static Autofac.IContainer BuildContainer() { var containerBuilder = new AutofacContainerBuilder(); //var bootstrapper = new ProviderBootstrapper(containerBuilder); //MockBuilder.BuildConfiguration() //bootstrapper.Load(); return(containerBuilder.Build()); }
private void AutofacConfiguration() { var config = GlobalConfiguration.Configuration; var builder = new AutofacContainerBuilder(); var container = builder.BuildContainer(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public void ResolveInstance() { var containerBuilder = new AutofacContainerBuilder(); containerBuilder.RegisterInstance <ITestInterfaceForContainer>(new TestInterfaceForContainer()); var container = containerBuilder.Build(); var instance = container.Resolve <ITestInterfaceForContainer>(); Assert.AreEqual(instance.GetType(), typeof(TestInterfaceForContainer)); }
public void ResolveByFunc() { var containerBuilder = new AutofacContainerBuilder(); containerBuilder.RegisterPerRequest <ITestInterfaceForContainer, TestInterfaceForContainer>(context => new TestInterfaceForContainer()); var container = containerBuilder.Build(); var instance = container.Resolve <ITestInterfaceForContainer>(); Assert.AreEqual(instance.GetType(), typeof(TestInterfaceForContainer)); }
public void ResolveTypesByThierInterfaces() { var containerBuilder = new AutofacContainerBuilder(); containerBuilder.RegisterTypesByThierInterfaces(GetType().Assembly); var container = containerBuilder.Build(); var instance = container.Resolve <ITestGenericInterface <ITestInterfaceForContainer> >(); Assert.AreEqual(instance.GetType(), typeof(TestGeneric)); }
public override void OnUsing(AppModuleUsingArguments args) { AutofacContainerBuilder builder = args.AppSetup.GetAppContainerBuilder <AutofacContainerBuilder>(); builder.Building += Builder_Building; ConfigAppContainerBuilder configBuilder = args.AppSetup.GetAppContainerBuilder <ConfigAppContainerBuilder>(); configBuilder.ConfigObjectRegisted += ConfigBuilder_ConfigObjectRegisted; }
public void AutofacContainerBuilder_WithTests_ForFactory_ThrowsException() { //Arrange var builder = new AutofacContainerBuilder(); //Act Assert.Throws <TypeAccessException>( () => builder.ForFactory(x => new Foo()) .WithResolvedParam(x => (string)null)); }
public void ResolveTransient() { var containerBuilder = new AutofacContainerBuilder(); containerBuilder.RegisterTransient <ITestGenericInterface <ITestInterfaceForContainer>, TestGeneric>(); var container = containerBuilder.Build(); var instance = container.Resolve <ITestGenericInterface <ITestInterfaceForContainer> >(); Assert.AreEqual(instance.GetType(), typeof(TestGeneric)); }
public void ResolveByMultipleFuncInstance() { var containerBuilder = new AutofacContainerBuilder(); containerBuilder.RegisterSingleton <ITestInterfaceForContainer, IOtherTestInterfaceForContainer, TestInterfaceForContainer>(context => new TestInterfaceForContainer()); var container = containerBuilder.Build(); var instance = container.Resolve <IOtherTestInterfaceForContainer>(); Assert.AreEqual(instance.GetType(), typeof(TestInterfaceForContainer)); }
public override void OnUsing(AppModuleUsingArguments arguments) { var setup = arguments.AppSetup; var targetModule = arguments.TargetAppModule; var infos = arguments.ScannedAttributeAndTypeInfos; AutofacContainerBuilder autofacContainerBuilder = setup.GetAppContainerBuilder <AutofacContainerBuilder>(); RegisterScanResult(setup, targetModule, autofacContainerBuilder, infos); }
public static IContainerBuilder Init() { var builder = new AutofacContainerBuilder(); builder.Register<IMotorcyclePayload>(new MotorcyclePayload()); builder.Register<IStartViewModel, StartViewModel>(); builder.Register<IEditMotorcycleViewModel, EditMotorcycleViewModel>(); return builder; }
public void AutofacContainerBuilderTests_ForInstanceOfType_RegisteredTypeResoslvable() { //Arrange var autofacContainerBuilder = new AutofacContainerBuilder(); //Act autofacContainerBuilder.ForInstanceOfType(new Foo()); var resolver = autofacContainerBuilder.Build(); //Assert Assert.IsNotNull(resolver.Resolve <Foo>()); }
public void TestInitialize() { _realAutofacBuilder = new ContainerBuilder(); _realNinjectKernel = new StandardKernel(); _autofacContainer = new AutofacContainerBuilder(_realAutofacBuilder); _ninjectContainer = new NinjectContainerBuilder(_realNinjectKernel); // Temp - fake registration of IUnitOfWork etc. // TODO: Re-enable once implementation has been rewritten //_realAutofacBuilder.RegisterType<AutoMapperTypeMapper>().As<ITypeMapper>().SingleInstance(); //_realNinjectKernel.Bind<ITypeMapper>().To<AutoMapperTypeMapper>().InSingletonScope(); }
public void AutofacContainerBuilder_ForFactoryTests_ForFactory_RegisteredTypeComesFromDelegate() { //Arrange var autofacContainerBuilder = new AutofacContainerBuilder(); //Act autofacContainerBuilder.ForFactory(x => new Foo()); var resolver = autofacContainerBuilder.Build(); //Assert Assert.IsNotNull(resolver.Resolve <Foo>()); }
protected void Application_Start() { log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("~/Configs/Log4net.config"))); AutofacContainerBuilder.BuildContainer(); using (var dbcontext = new WisdomScenicDbContext("WisdomScenicDbContextWrite")) { var objectContext = ((IObjectContextAdapter)dbcontext).ObjectContext; var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace); mappingCollection.GenerateViews(new List <EdmSchemaError>()); } GlobalConfiguration.Configure(WebApiConfig.Register); }
public void AutofacContainerBuilderTests_TypesRegistrableAsSelf_NewAPI() { //Arrange var autofacContainerBuilder = new AutofacContainerBuilder(); //Act autofacContainerBuilder.For(typeof(Foo)); var dependencyResolver = autofacContainerBuilder.Build(); //Assert Assert.IsNotNull(dependencyResolver.Resolve <Foo>()); }
public void AutofacContainerBuilderTests_TypesRegistrableUsingImplementation() { //Arrange var autofacContainerBuilder = new AutofacContainerBuilder(); //Act autofacContainerBuilder.ForInstanceOfType(new Foo()) .KnownAs(typeof(IFoo)); var dependencyResolver = autofacContainerBuilder.Build(); //Assert Assert.IsNotNull(dependencyResolver.Resolve <IFoo>()); }
public void AutofacContainerBuilderTests_TypesRegistrableAsInterfaces() { //Arrange var autofacContainerBuilder = new AutofacContainerBuilder(); //Act autofacContainerBuilder.For <Foo>() .KnownAs <IFoo>(); var dependencyResolver = autofacContainerBuilder.Build(); //Assert Assert.IsNotNull(dependencyResolver.Resolve <IFoo>()); }
public void DependencyRegistrarExtensions_KnwonAsSelf_RegistersTypeAsItself() { //Arrange var builder = new AutofacContainerBuilder(); //Act builder.For(typeof(Foo)) .KnownAsSelf(); var resolver = builder.Build(); //Assert Assert.IsNotNull(resolver.Resolve <Foo>()); }
/// <summary> /// Главная точка входа для приложения. /// </summary> private static void Main() { SetConfiguration(); var container = AutofacContainerBuilder.BuildContainer(); var winService = container.Resolve <IWinServiceStatusSender>(); ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new IntelStatusSenderService(winService) }; ServiceBase.Run(ServicesToRun); }
public IServiceProvider ConfigureServices(IServiceCollection services) { var builder = new AutofacContainerBuilder(); var providerConfiguration = Configuration.GetSection("Vedaantees").Get <ProviderConfiguration>(); var bootstrapper = new ProviderBootstrapper(builder, providerConfiguration); bootstrapper.Load(_env); builder.Builder.Populate(services); ApplicationContainer = builder.Build(); bootstrapper.InitializeFramework(ApplicationContainer); return(new AutofacServiceProvider(ApplicationContainer)); }
public void TestSendEmailTask() { var containerBuilder = new AutofacContainerBuilder(); var bootstrapper = new ProviderBootstrapper(containerBuilder, MockBuilder.BuildConfiguration()); var methodResult = bootstrapper.Load(new MockHosting()); var container = containerBuilder.Build(); bootstrapper.InitializeFramework(container); var sendEmailTask = container.Resolve <SendEmailTask>(); var result = sendEmailTask.Execute().Result; Assert.AreEqual(result.MethodResultState, MethodResultStates.Successful); }
public void AutofacContainerBuilderTests_NamedRegistration_ResolvableByName() { //Arrange var builder = new AutofacContainerBuilder(); //Act builder.ForInstanceOfType(new Foo()) .Named <Foo>("name") ; var resolver = builder.Build(); //Assert Assert.IsNotNull(resolver.Resolve <Foo>("name")); }
/// <summary> /// 从 <see cref="IAppModule"/> 实例的方法中创建组件, /// 这些方法必须被标记 <see cref="ComponentAttribute"/> 特征。 /// </summary> /// <param name="targetModule"></param> /// <param name="autofacContainerBuilder"></param> private static void ReplaceComponentFromMethods(IAppModule targetModule, AutofacContainerBuilder autofacContainerBuilder) { var methods = targetModule.GetType().GetMethods() .Where(x => x.ReturnType != typeof(void)) .Select(x => new { Method = x, Attribute = x.GetCustomAttribute <ReplaceCreatorAttribute>() }) .Where(x => x.Attribute != null) .Select(x => x.Method); foreach (var method in methods) { RemoveService(targetModule, autofacContainerBuilder, method); } //RegisterMethods(targetModule, autofacContainerBuilder, methods); }
private void IocConfiguration() { var builder = new AutofacContainerBuilder(null).Get(); builder.RegisterControllers(typeof(ReplaysController).Assembly); RegisterSecurity(builder); var container = builder.Build(); System.Web.Mvc.DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); /*var dbService = container.Resolve<IDatabaseService>(); * dbService.DropCreateAndInit(null);*/ }
public void UmbracoAreaRegistrationReceivesMetadataFromIoC() { var codeBase = Assembly.GetExecutingAssembly().CodeBase; var uri = new Uri(codeBase); var path = uri.LocalPath; var binFolder = Path.GetDirectoryName(path); var settingsFile = new FileInfo(Path.Combine(binFolder, "web.config")); var autofacBuilder = new AutofacContainerBuilder(); autofacBuilder.ForFactory( context => new UmbracoSettings(settingsFile)) .KnownAsSelf(); autofacBuilder.For<UmbracoAreaRegistration>() .KnownAsSelf() .WithResolvedParam(context => context.Resolve<IRouteHandler>("TreeRouteHandler")); //why is this here? var typeFinder = new TypeFinder(); var componentRegistrar = new UmbracoComponentRegistrar(); componentRegistrar.RegisterEditorControllers(autofacBuilder, typeFinder); componentRegistrar.RegisterMenuItems(autofacBuilder, typeFinder); //componentRegistrar.RegisterPackageActions(autofacBuilder, typeFinder); componentRegistrar.RegisterPropertyEditors(autofacBuilder, typeFinder); componentRegistrar.RegisterSurfaceControllers(autofacBuilder, typeFinder); componentRegistrar.RegisterTreeControllers(autofacBuilder, typeFinder); //build the container var container = autofacBuilder.Build(); var result = container.Resolve<UmbracoAreaRegistration>(); Assert.IsNotNull(result); }
private static void Main(string[] args) { var binarySerializer = new DefaultBinarySerializer(); var hostName = "127.0.0.1"; var port = 5672; var userName = "******"; var password = "******"; var virtualName = "/"; var endPoint = new RemoteEndpoint(hostName, virtualName, userName, password, port); var exChangeName = typeof(CreateUserCommand).Assembly.GetName().Name; var routingKey = MessageUtils.CurrentResponseRoutingKey; var responseRoutingKey = MessageUtils.CurrentResponseRoutingKey; var consumerContext = new ConsumerContext(exChangeName, responseRoutingKey, responseRoutingKey, routingKey, true); var channelPools = new CommunicateChannelFactoryPool(endPoint); var consumer = new PushMessageConsumer(channelPools, binarySerializer, consumerContext, new MessageResponseHandler()); consumer.Start(); var containerBuilder = new AutofacContainerBuilder(); containerBuilder.RegisterInstance(channelPools); containerBuilder.RegisterInterface<IBinarySerializer, DefaultBinarySerializer>(); DependencyResolver.SetResolver(new DefaultDependencyResolver(containerBuilder.Build())); var requestChannelPools = new RequestChannelPools(); var commandTopicProvider = new UserTopicProvider(); var commandService = new CommandService(requestChannelPools, commandTopicProvider); Console.WriteLine("begin to receive the result message"); Stopwatch watch = new Stopwatch(); watch.Start(); for (var i = 0; i < 10000; i++) { var command = new CreateUserCommand( "天涯狼" + DateTime.Now.ToString("yyyyMMddHHmmsss"), DateTime.Now.ToString("yyyyMMddHHmmsss"), true, 22); var commandResult = commandService.Send(command, 20); Console.WriteLine("message:{0} and number is {1}", commandResult.Message, i); } watch.Stop(); Console.WriteLine("message:{0} ", watch.ElapsedMilliseconds); Console.ReadLine(); }
private static void Main(string[] args) { var containerBuilder = new AutofacContainerBuilder(); var binarySerializer = new DefaultBinarySerializer(); var eventHandleInitializer = new EventHandleProvider(); eventHandleInitializer.Initialize(Assembly.GetExecutingAssembly(), Assembly.Load("Seven.Tests")); var commandInitializer = new CommandHandleProvider(); commandInitializer.Initialize(Assembly.Load("Seven.Tests")); var messageTypeProvider = new MessageTypeProvider(); messageTypeProvider.Initialize(Assembly.GetExecutingAssembly(), Assembly.Load("Seven.Tests")); containerBuilder.RegisterInstance(eventHandleInitializer); containerBuilder.RegisterInstance(commandInitializer); containerBuilder.RegisterInstance(messageTypeProvider); var mysqlEventStore = new MySqlEventStore(_mysqlConnection); var snapshotStorage = new MysqlSnapshotStorage(_mysqlConnection); var aggregateRootStorage = new MysqlAggregateRootStorage(_mysqlConnection); var aggregateRootMemory = new AggregateRootMemoryCache(); var nonEventSouringRepository = new NonEventSouringRepository(aggregateRootStorage, binarySerializer); var eventSouringRepository = new EventSouringRepository(mysqlEventStore, snapshotStorage, binarySerializer, aggregateRootMemory); var endPoint = new RemoteEndpoint("127.0.0.1", "/", "guest", "guest", 5672); var exChangeName = typeof(CreateUserCommand).Assembly.GetName().Name; ; var responseRoutingKey = MessageUtils.CurrentResponseRoutingKey; var channelPools = new CommunicateChannelFactoryPool(endPoint); containerBuilder.RegisterInstance(channelPools); containerBuilder.RegisterInterface<IBinarySerializer, DefaultBinarySerializer>(); DependencyResolver.SetResolver(new DefaultDependencyResolver(containerBuilder.Build())); var requestChannelPools = new RequestChannelPools(); var commandTopicProvider = new UserTopicProvider(); var eventTopicProvider = new UserEEventTopicProvider(); var eventPublisher = new EventPublisher(requestChannelPools, eventTopicProvider); var commandProssor = new DefaultCommandProssor(mysqlEventStore, eventSouringRepository, commandInitializer, eventPublisher, snapshotStorage, binarySerializer); var messageHandler = new MessageRequestHandler(commandProssor); for (var i = 0; i < 5; i++) { var routingKey = string.Format("{0}_{1}_{2}", exChangeName, "command", i); var consumerContext = new ConsumerContext(exChangeName, routingKey, routingKey, responseRoutingKey, false, true); var consumer = new PushMessageConsumer(channelPools, binarySerializer, consumerContext, messageHandler); consumer.Start(); Console.WriteLine("Started."); } for (var i = 0; i < 5; i++) { var routingKey = string.Format("{0}_{1}_{2}", exChangeName, "event", i); var consumerContext = new ConsumerContext(exChangeName, routingKey, routingKey, responseRoutingKey, false, true); var consumer = new PushMessageConsumer(channelPools, binarySerializer, consumerContext, messageHandler); consumer.Start(); Console.WriteLine("Started."); } Console.WriteLine("begin to consumer the message."); Console.ReadLine(); }