public static void Configure() { IoC.Container.Configure(cfg => { cfg.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); }); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new MvcRegistry()); cfg.AddRegistry(new ActionFilterRegistry(namespacePrefix: "HeroicFramework.SampleWebApp")); //Are you using ASP.NET Identity? If so, you'll probably need to configure some additional services: //1) Make IUserStore injectable. Replace 'ApplicationUser' with whatever your Identity user type is. //For<IUserStore<ApplicationUser>>().Use<UserStore<ApplicationUser>>(); //2) Change AppDbContext to your application's Entity Framework context. //For<DbContext>().Use<AppDbContext>(); //3) This will allow you to inject the IAuthenticationManager. You may not need this, but you will if you // used the default ASP.NET MVC project template as a starting point! //For<IAuthenticationManager>().Use(ctx => ctx.GetInstance<HttpRequestBase>().GetOwinContext().Authentication); //TODO: Add other registries and configure your container (if needed) }); var resolver = new StructureMapDependencyResolver(); DependencyResolver.SetResolver(resolver); GlobalConfiguration.Configuration.DependencyResolver = resolver; }
protected void Application_Start() { _container = new Container(); AreaRegistration.RegisterAllAreas(); _container.Configure(cfg => { cfg.AddRegistry(new StandardRegistry()); cfg.AddRegistry(new LoggingRegistry()); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new ServiceRegistry()); cfg.AddRegistry(new DataContextRegistry()); cfg.AddRegistry(new MvcRegistry()); }); _structureMapDependencyResolver = new StructureMapDependencyResolver(() => _container); Func<IContainer> containerFactory = () => _structureMapDependencyResolver.CurrentNestedContainer ?? _container; DependencyResolver.SetResolver(_structureMapDependencyResolver); GlobalConfiguration.Configure(config => { WebApiConfig.Register(config, containerFactory); }); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
public void ConfigureContainer(ServiceConfigurationContext context) { var resolver = new StructureMapDependencyResolver(context.StructureMap()); DependencyResolver.SetResolver(resolver); GlobalConfiguration.Configuration.DependencyResolver = resolver; }
public static void Initialize() { RootContainer = new Container(new VkAppRegistry()); StructureMapResolver = new StructureMapDependencyResolver(RootContainer); Resolver.SetResolver(StructureMapResolver); ServiceLocator.SetLocatorProvider(CreateServiceLocator); }
public static void ConfigureStructureMap() { var container = CreateStructureMapContainer(); var smDependencyResolver = new StructureMapDependencyResolver(container); DependencyResolver.SetResolver(smDependencyResolver); }
protected void Application_Start() { _container = new Container(); AreaRegistration.RegisterAllAreas(); _container.Configure(cfg => { cfg.AddRegistry(new StandardRegistry()); cfg.AddRegistry(new LoggingRegistry()); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new ServiceRegistry()); cfg.AddRegistry(new DataContextRegistry()); cfg.AddRegistry(new MvcRegistry()); }); _structureMapDependencyResolver = new StructureMapDependencyResolver(() => _container); Func <IContainer> containerFactory = () => _structureMapDependencyResolver.CurrentNestedContainer ?? _container; DependencyResolver.SetResolver(_structureMapDependencyResolver); GlobalConfiguration.Configure(config => { WebApiConfig.Register(config, containerFactory); }); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
public static void Configure() { ObjectFactory.Configure(cfg => { cfg.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); }); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new MvcRegistry()); cfg.AddRegistry(new ActionFilterRegistry(namespacePrefix: "identity_with_ioc")); //TODO: Add other registries and configure your container! cfg.For <ApplicationSignInManager>().Use(ctx => ctx.GetInstance <HttpContextBase>().GetOwinContext().Get <ApplicationSignInManager>()); cfg.For <ApplicationUserManager>().Use(ctx => ctx.GetInstance <HttpContextBase>().GetOwinContext().GetUserManager <ApplicationUserManager>()); }); var resolver = new StructureMapDependencyResolver(); DependencyResolver.SetResolver(resolver); GlobalConfiguration.Configuration.DependencyResolver = resolver; }
private ActorSystem CreateActorSystem(IThuriaIocContainer iocContainer) { var actorSystem = ActorSystem.Create("TestHeliumAkkaIocRegistrySystem", ThuriaHoconLoader.FromFile("akka.config")); StructureMapDependencyResolver dependencyResolver = new StructureMapDependencyResolver((IContainer)iocContainer.Container, actorSystem); return(actorSystem); }
public static void InitializeDependencyResolution() { IContainer container = IoC.Initialize(); IDependencyResolver dependencyResolver = new StructureMapDependencyResolver(container); DependencyResolver.SetResolver(dependencyResolver); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiRouteRegistry.Register(GlobalConfiguration.Configuration); // Filter out unhandled exceptions for logging purposes. GlobalFilters.Filters.Add(new ExceptionFilter()); // Do not remove this Attribute, this enables the [Authorize] attribute by default on all routes. // Applies to MVC routes GlobalFilters.Filters.Add(new AuthorizeAttribute()); // Applies to WebApi routes GlobalConfiguration.Configuration.Filters.Add(new System.Web.Http.AuthorizeAttribute()); StructureMapDependencyResolver serviceLocator = TypeRegistry.RegisterTypes(); DependencyResolver.SetResolver(serviceLocator); GlobalConfiguration.Configuration.DependencyResolver = serviceLocator; RouteRegistry.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ////#if DEBUG ////BundleTable.EnableOptimizations = false; ////#else //// BundleTable.EnableOptimizations = true; ////#endif }
// ReSharper disable once UnusedMember.Global public static void Start() { IContainer container = IoC.Initialize(); var structureMapDependencyResolver = new StructureMapDependencyResolver(container); DependencyResolver.SetResolver(structureMapDependencyResolver); GlobalConfiguration.Configuration.DependencyResolver = structureMapDependencyResolver; }
public void GetConcreteInstanceOf_ShouldReturn_AttendeeRepositoryStub_WhenPassed_IAttendeeRepository() { //Arrange IDependencyResolver dependencyResolver = new StructureMapDependencyResolver(); //Act var myRepo = dependencyResolver.GetConcreteInstanceOf<IAttendeeRepository>(); //Assert Assert.IsInstanceOfType(myRepo, typeof(AttendeeRepositoryStub)); }
protected override void CustomizeFixture(IFixture fixture) { var scope = new StructureMapDependencyResolver(IntegrationTestContainerFactory.Container); var contextFixture = new TestContextFixture(scope, fixture); contextFixture.SetUp(); fixture.Register(() => contextFixture); }
public static void ConfigureContainer() { var container = ObjectFactory.Container; container.Configure(ConfigureContainer); var resolver = new StructureMapDependencyResolver(container); DependencyResolver.SetResolver(resolver); }
public static void Config() { var container = InitializeContainer(); var webApiDependencyResolver = new StructureMapResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiDependencyResolver; var mvcDependencyResolver = new StructureMapDependencyResolver(container); DependencyResolver.SetResolver(mvcDependencyResolver); }
static void Main(string[] args) { var container = DependencyContainer.Build(); ActorSystem = Akka.Actor.ActorSystem.Create("TrangselskattActorSystem"); var resolver = new StructureMapDependencyResolver(container, ActorSystem); var _ = ActorSystem.ActorOf(ActorSystem.DI().Props <VehicleCoordinatorActor>(), "VehicleCoordinator"); Console.ReadLine(); }
public override void Setup() { ObjectFactory.Initialize(x => { x.UseDefaultStructureMapConfigFile = false; x.BuildInstancesOf<IDependency>().TheDefaultIsConcreteType<SimpleDependency>(); x.BuildInstancesOf<SimpleDependency>().TheDefaultIsConcreteType<SimpleDependency>(); x.BuildInstancesOf<NestedDependency>().TheDefaultIsConcreteType<NestedDependency>(); }); _dependencyResolver = new StructureMapDependencyResolver(); }
public override void Setup() { ObjectFactory.Initialize(x => { x.UseDefaultStructureMapConfigFile = false; x.BuildInstancesOf <IDependency>().TheDefaultIsConcreteType <SimpleDependency>(); x.BuildInstancesOf <SimpleDependency>().TheDefaultIsConcreteType <SimpleDependency>(); x.BuildInstancesOf <NestedDependency>().TheDefaultIsConcreteType <NestedDependency>(); }); _dependencyResolver = new StructureMapDependencyResolver(); }
public void StructureMapResolveSingleInstance() { var registered = new Registered(); ObjectFactory.Initialize(i => i.Register(registered)); var resolver = new StructureMapDependencyResolver(ObjectFactory.Container); var resolved = (Registered) resolver.GetInstance(typeof (Registered)); Assert.That(resolved, Is.EqualTo(registered)); }
public void StructureMapResolveSingleInstance() { var registered = new Registered(); ObjectFactory.Initialize(i => i.Register(registered)); var resolver = new StructureMapDependencyResolver(ObjectFactory.Container); var resolved = (Registered)resolver.GetInstance(typeof(Registered)); Assert.That(resolved, Is.EqualTo(registered)); }
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); var container = new Container(x => x.Scan(s => { s.LookForRegistries(); s.TheCallingAssembly(); })); var dependencyResolver = new StructureMapDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = dependencyResolver; }
public static void Initialize() { HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize(); var container = new Container(new ScanningRegistry()); StructureMapDependencyResolver.Initialize(container); ServiceLocator.SetLocatorProvider(() => StructureMapDependencyResolver.Current); DependencyResolver.SetResolver(ServiceLocator.Current); FluentValidationModelValidatorProvider.Configure(x => { x.ValidatorFactory = new StructureMapValidatorFactory(); }); }
private void IntializeIocContainer() { StructureMapContainer = new Container(); var dependencyResolver = new StructureMapDependencyResolver(StructureMapContainer); Abstraction.IocContainer.DependencyResolver.Setup(dependencyResolver); DependencyResolver = dependencyResolver; DependencyResolverConfigurator = dependencyResolver; StructureMapContainer.Configure(x => { x.For <IDependencyResolver>().Singleton().Use(DependencyResolver); x.For <IDependencyResolverConfigurator>().Singleton().Use(DependencyResolverConfigurator); }); }
public static void Initialize() { lock (_syncRoot) { if (!_isInitialized) { Container = ContainerFactory.Initialize(); ServiceLocator = new StructureMapDependencyScope(Container); DependencyResolver = new StructureMapDependencyResolver(Container); StructuremapMvc.StructureMapDependencyScope = new StructureMapDependencyScope(Container); DynamicModuleUtility.RegisterModule(typeof(StructureMapScopeModule)); DynamicModuleUtility.RegisterModule(typeof(PopForumsLoggingModule)); _isInitialized = true; } } }
/// <summary> /// Configures Web API to use StructureMap for dependency resolution. /// Overrides <see cref="IHttpControllerActivator"/> to make <see cref="HttpRequestMessage"/> injectable. /// </summary> /// <param name="httpConfiguration"></param> /// <param name="container"></param> public static void UseStructureMap(this HttpConfiguration httpConfiguration, IContainer container) { if (httpConfiguration == null) { throw new ArgumentNullException("httpConfiguration"); } if (container == null) { throw new ArgumentNullException("container"); } var dependencyResolver = new StructureMapDependencyResolver(container); httpConfiguration.DependencyResolver = dependencyResolver; httpConfiguration.Services.Replace(typeof(IHttpControllerActivator), dependencyResolver); }
public void ConfigureContainer(ServiceConfigurationContext context) { var resolver = new StructureMapDependencyResolver(context.StructureMap()); var disableStructureMapMvcRegistration = ConfigurationManager.AppSettings["epiCommonUtils:disableStructureMapMvcRegistration"]; var disableStructureMapWebApiRegistration = ConfigurationManager.AppSettings["epiCommonUtils:disableStructureMapWebApiRegistration"]; if (disableStructureMapMvcRegistration == null || bool.Parse(disableStructureMapMvcRegistration) == false) { DependencyResolver.SetResolver(resolver); } if (disableStructureMapWebApiRegistration == null || bool.Parse(disableStructureMapWebApiRegistration) == false) { GlobalConfiguration.Configuration.DependencyResolver = resolver; } }
private IActorRef CreateActor(IDatabaseBuilder databaseBuilder = null) { var databaseSettings = Substitute.For <IThuriaDatabaseSettings>(); databaseSettings.GetConnectionString("TestDbContext").Returns("TestConnectionString"); var container = new Container( expression => { expression.For <IThuriaDatabaseSettings>().Use(databaseSettings); expression.For <IDatabaseBuilder>().Use(databaseBuilder ?? Substitute.For <IDatabaseBuilder>()); }); var dependencyResolver = new StructureMapDependencyResolver(container, Sys); var actorProps = Sys.DI().Props <HeliumExecuteSqlQueryActor>(); return(Sys.ActorOf(actorProps, "Test")); }
static void Main(string[] args) { var system = AkkaOfEmpiresSystem.Start(); var container = GetDependencyContainer(system); var resolver = new StructureMapDependencyResolver(container, system); var villagerProps = system.DI().Props<ConsoleVillagerActor>(); var gatherer = system.ActorOf(villagerProps); gatherer.Tell(new GatherFruits()); var shepherd = system.ActorOf(villagerProps); shepherd.Tell(new ShepherdFlock()); var lumberjack = system.ActorOf(villagerProps); lumberjack.Tell(new CutTrees()); system.AwaitTermination(); }
public void RequestResponse() { ObjectFactory.Initialize(i => i.Scan(s => { s.TheCallingAssembly(); s.AddAllTypesOf((typeof(IAsyncRequestHandler <,>))); })); var resolver = new StructureMapDependencyResolver(ObjectFactory.Container); var query = new ExternalResourceQuery(); var mediator = new Mediator(resolver); var task = mediator.RequestAsync(query); Assert.That(task.Result.Data, Is.EqualTo("success")); Assert.That(task.Result.HasException(), Is.False); }
public static void Configure() { IoC.Container.Configure(cfg => { cfg.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); }); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new MvcRegistry()); cfg.AddRegistry(new ActionFilterRegistry(namespacePrefix: "Web")); cfg.AddRegistry(new AspNetIdentityRegistry()); }); var resolver = new StructureMapDependencyResolver(); DependencyResolver.SetResolver(resolver); GlobalConfiguration.Configuration.DependencyResolver = resolver; }
public void Should_not_throw_exception_if_multiple_threads_inject_conext_into_singleton_dependency_resolver() { var container = new Container(); container.Configure(c => c.Scan(s => { s.AssemblyContainingType(GetType()); s.LookForRegistries(); s.WithDefaultConventions(); })); _resolver = new StructureMapDependencyResolver(container); _resolver.AddDependency(typeof(IDependencyResolver), typeof(StructureMapDependencyResolver), DependencyLifetime.Singleton); _resolver.AddDependency(typeof(IPipeline), typeof(PipelineRunner), DependencyLifetime.Singleton); _resolver.AddDependency(typeof(ILogger), typeof(NullLogger), DependencyLifetime.Singleton); for (int i = 0; i < 200; i++) { int errorCount = 0; new Thread(() => { try { var context = new InMemoryCommunicationContext(); _resolver.AddDependencyInstance<ICommunicationContext>(context,DependencyLifetime.PerRequest); _resolver.AddDependencyInstance<IRequest>(context.Request,DependencyLifetime.PerRequest); _resolver.AddDependencyInstance<IResponse>(context.Response,DependencyLifetime.PerRequest); _resolver.AddDependencyInstance<IHost>(new InMemoryHost(new ConfigurationSource()), DependencyLifetime.PerRequest); _resolver.Resolve<ICommunicationContext>(); } catch (Exception) { errorCount = errorCount +1 ; throw; } }).Start(); Assert.That(errorCount, Is.EqualTo(0), "Some of the requests threw errors meaning that the dependencyresolver is not threadsafe "); } }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); //bundling css and javascript BundleConfig.RegisterBundles(BundleTable.Bundles); BundleTable.EnableOptimizations = false; //enabling bundling and minification //register classes and interfaces //StructureMap Container IContainer container = IoC.Initialize(); //Register for MVC DependencyResolver.SetResolver(new StructureMapDependencyResolver(container)); //Register for Web API var resolver = new StructureMapDependencyResolver(container); }
static void Main(string[] args) { var system = AkkaOfEmpiresSystem.Start(); var container = GetDependencyContainer(system); var resolver = new StructureMapDependencyResolver(container, system); var villagerProps = system.DI().Props <ConsoleVillagerActor>(); var gatherer = system.ActorOf(villagerProps); gatherer.Tell(new GatherFruits()); var shepherd = system.ActorOf(villagerProps); shepherd.Tell(new ShepherdFlock()); var lumberjack = system.ActorOf(villagerProps); lumberjack.Tell(new CutTrees()); system.AwaitTermination(); }
public static void Configure() { ObjectFactory.Configure(cfg => { cfg.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); }); cfg.AddRegistry(new ControllerRegistry()); cfg.AddRegistry(new MvcRegistry()); cfg.AddRegistry(new ActionFilterRegistry(namespacePrefix: "QueryEncapsulation.Web")); //TODO: Add other registries and configure your container! }); var resolver = new StructureMapDependencyResolver(); DependencyResolver.SetResolver(resolver); GlobalConfiguration.Configuration.DependencyResolver = resolver; }
public void Configuration(IAppBuilder app) { var container = new Container(x => { x.For<IWordFinder>().Use<WireCharacterNameFinder>(); }); var resolver = new StructureMapDependencyResolver(container); app.UseIoC(resolver); var httpConfig = new HttpConfiguration(); httpConfig.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional, controller = "Default" } ); app.UseOwinIoc(httpConfig); app.UseWebApi(httpConfig); // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 }
private static void WithHashPool() { IContainer container = new Container(cfg => { cfg.For <TypedWorker>().Use <TypedWorker>().Named("TypedWorker").LifecycleIs <TransientLifecycle>(); }); using (var system = ActorSystem.Create("MySystem")) { var propsResolver = new StructureMapDependencyResolver(container, system); var router = system.ActorOf(system.DI().Props <TypedWorker>().WithRouter(FromConfig.Instance), "router1"); Task.Delay(500).Wait(); Console.WriteLine("Sending Messages"); for (var i = 0; i < 5; i++) { for (var j = 0; j < 7; j++) { var msg = new TypedActorMessage { Id = j, Name = Guid.NewGuid().ToString() }; var ms = new AnotherMessage { Id = j, Name = msg.Name }; var envelope = new ConsistentHashableEnvelope(ms, msg.Id); router.Tell(msg); router.Tell(envelope); } } Console.WriteLine("Hit Enter to exit"); Console.ReadLine(); } }
private static void WithHashPool() { IContainer container = new Container(cfg => { cfg.For<TypedWorker>().Use<TypedWorker>().Named("TypedWorker").LifecycleIs<TransientLifecycle>(); }); using (var system = ActorSystem.Create("MySystem")) { var propsResolver = new StructureMapDependencyResolver(container, system); var router = system.ActorOf(system.DI().Props<TypedWorker>().WithRouter(FromConfig.Instance), "router1"); Task.Delay(500).Wait(); Console.WriteLine("Sending Messages"); for (var i = 0; i < 5; i++) { for (var j = 0; j < 7; j++) { var msg = new TypedActorMessage { Id = j, Name = Guid.NewGuid().ToString() }; var ms = new AnotherMessage { Id = j, Name = msg.Name }; var envelope = new ConsistentHashableEnvelope(ms, msg.Id); router.Tell(msg); router.Tell(envelope); } } Console.WriteLine("Hit Enter to exit"); Console.ReadLine(); } }
public void Notification() { var handled = new List <int>(); ObjectFactory.Initialize(i => { i.Scan(s => { s.TheCallingAssembly(); s.AddAllTypesOf((typeof(INotificationHandler <>))); }); i.For <IList>().Use(handled); }); var resolver = new StructureMapDependencyResolver(ObjectFactory.Container); var notification = new Notification(); var mediator = new Mediator(resolver); mediator.Notify(notification); CollectionAssert.AreEquivalent(handled, new[] { 1, 2 }); }
public WebUITask(StructureMapDependencyResolver resolver) { _resolver = resolver; }
public void Should_not_throw_exception_when_multiple_threads_manipulate_the_Dependency_resolver() { int errorCount = 0; for(int i=0; i<1000; i++ ) { new Thread(() =>{ var container = new Container(); container.Configure(c => c.Scan(s => { s.AssemblyContainingType(GetType()); s.LookForRegistries(); s.WithDefaultConventions(); })); _resolver = new StructureMapDependencyResolver(container); _resolver.AddDependency(typeof(IDependencyResolver), typeof(StructureMapDependencyResolver), DependencyLifetime.Singleton); _resolver.AddDependency(typeof(IPipeline), typeof(PipelineRunner), DependencyLifetime.Singleton); _resolver.AddDependency(typeof(ILogger), typeof(NullLogger), DependencyLifetime.Singleton); try { _resolver.Resolve<IPipeline>(); } catch (Exception) { errorCount++; throw; } }).Start(); } Assert.That(errorCount, Is.EqualTo(0), "Some of the requests threw errors meaning that the dependencyresolver is not threadsafe "); }