private static IWindsorContainer GetContainer() { var currentFolder = AppDomain.CurrentDomain.BaseDirectory; var container = new WindsorContainer(); var installers = new List <IWindsorInstaller>(); container.Kernel.ComponentModelBuilder.AddContributor(new RequireRepositoryProperties()); var windsorConfigFile = Path.Combine(currentFolder, "windsor.xml"); if (File.Exists(windsorConfigFile)) { installers.Add(Configuration.FromXmlFile(windsorConfigFile)); } installers.AddRange(new[] { FromAssembly.InThisApplication(), FromAssembly.InDirectory(new AssemblyFilter(currentFolder, "QuadAuto.Server.*.dll")) }); container.Kernel.Resolver.AddSubResolver(new ArrayResolver(container.Kernel, true)); container.Register(Component.For <ILazyComponentLoader>().ImplementedBy <LazyOfTComponentLoader>()); container.Register(Component.For <IServerStart>().ImplementedBy <ServerStart>()); container.Install(installers.ToArray()); return(container); }
static void Main(string[] args) { var container = new WindsorContainer(); container.Register(Component.For <IWindsorContainer>().Instance(container).LifeStyle.Singleton); container.Register(Component.For <IServiceLocator> ().ImplementedBy <WindsorServiceLocator>().LifeStyle.Singleton); container.Install(FromAssembly.This(), FromAssembly.InDirectory(new AssemblyFilter(".", "*Logger*")) ); /* * foreach ( var handler in container.Kernel.GetAssignableHandlers(typeof(object))) * { * Console.WriteLine("Registered: {0} for {1} (lifestyle: {2})", * handler.ComponentModel.Implementation.FullName, * String.Join(", ", handler.ComponentModel.Services.Select(t => t.FullName)), * handler.ComponentModel.LifestyleType); * } */ ServiceLocator.SetLocatorProvider(() => container.Resolve <IServiceLocator>()); var logger = ServiceLocator.Current.GetInstance <ILogger>(); logger.Log("Helo World"); Console.ReadKey(); }
/// <summary> /// Initializes a new instance of the <see cref="Bootstrapper" /> class. /// </summary> public Bootstrapper() { try { this.container = new WindsorContainer(); this.container.Kernel.Resolver.AddSubResolver(new CollectionResolver(this.container.Kernel, false)); this.container.AddFacility <TypedFactoryFacility>(); //this.container.AddFacility<LoggingFacility>(f => f.UseNLog()); this.container.AddFacility <LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog) .WithConfig("NLog.config")); // Types.FromAssemblyInThisApplication() ? //this.container.Install(FromAssembly.Containing<Bootstrapper>()); //this.container.Install(FromAssembly.Named("Accelknife.Blades.Overview")); //this.container.Install(FromAssembly.InThisApplication()); //this.container.Install(FromAssembly.InDirectory(new AssemblyFilter(Path.GetDirectoryName(Application.ExecutablePath)))); this.container.Install(FromAssembly.InDirectory(new AssemblyFilter("", "Accelknife*"))); //var eee = container.Resolve<IBladeTest>(); //var encoderFactory = container.Resolve<IEncoderFactory>(); //var encoder = encoderFactory.GetByName("Accelknife.Blades.RecodeMule.Encoding.FFmpeg"); //var encoder = encoderFactory.GetByName("Mencoder"); } catch (Exception ex) { //MessageBox.Show(ex.ToString()); } }
static void Main(string[] args) { //Load IoC container var container = new WindsorContainer(); // Grab all IoC installers in Bin dir container.Install( FromAssembly.InDirectory(new AssemblyFilter(Environment.CurrentDirectory)) ); // Resolve all filters and order according to the order property var filters = container.ResolveAll <IFilter>().OrderBy(f => f.Order); // Resolve the registered pipeline implementation var pipeline = container.Resolve <IPipeline>(); //Load and execute pipeline Console.WriteLine("Pipeline starting"); foreach (var filter in filters) { pipeline.Register(filter); } pipeline.Execute(args[0]); Console.WriteLine("Pipeline completed"); }
/// <summary> /// Creates Windsor Container and installs components via all installers within application projects /// </summary> /// <returns></returns> public WindsorContainer Create() { var container = new WindsorContainer(); container.Install(FromAssembly.InDirectory(ApplicationAssemblyHelper.AssemblyFilter)); return(container); }
public Startup(IConfiguration configuration) { _container = new WindsorContainer(); _container.Kernel.Resolver.AddSubResolver(new CollectionResolver(_container.Kernel, true)); var assemblyDescriptor = Classes.FromAssemblyInDirectory(new AssemblyFilter(AppDomain.CurrentDomain.BaseDirectory)); _container.Register(Component .For <FromAssemblyDescriptor>() .UsingFactoryMethod(() => assemblyDescriptor) .LifestyleSingleton()); _container.Register(Component.For <IWindsorContainer>().UsingFactoryMethod(() => _container).LifestyleSingleton()); _container.Register(Component.For <DbConnection>().UsingFactoryMethod((p) => { var conf = p.Resolve <IConfiguration>(); var connectionString = conf.GetConnectionString("__MigrationDatabase"); var conn = new SqlConnection(connectionString); conn.Open(); return(conn); }).LifestyleCustom <MsScopedLifestyleManager>()); _container.Register(Component.For <DbTransaction>().UsingFactoryMethod((c) => { var conn = c.Resolve <DbConnection>(); return(conn.BeginTransaction()); }).LifestyleCustom <MsScopedLifestyleManager>()); _container.Install(FromAssembly.InDirectory(new AssemblyFilter(AppDomain.CurrentDomain.BaseDirectory))); Configuration = configuration; }
public WindsorBootstrap() { var binPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); Container = new WindsorContainer(); Container.Install(new WindsorInstaller(), FromAssembly.InDirectory(new AssemblyFilter(binPath))); }
public void Install_from_assembly_by_directory_with_fake_key_as_string_does_not_install() { var location = AppDomain.CurrentDomain.BaseDirectory; Container.Install(FromAssembly.InDirectory(new AssemblyFilter(location).WithKeyToken("1234123412341234"))); Assert.IsFalse(Container.Kernel.HasComponent("Customer-by-CustomerInstaller")); }
public void Initialize(bool isHttpEnabled = false) { this.container.AddFacility <TypedFactoryFacility>().AddFacility <WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero); ServiceMetadataBehavior metadata = new ServiceMetadataBehavior(); if (isHttpEnabled) { metadata.HttpGetEnabled = true; metadata.HttpsGetEnabled = true; } ServiceDebugBehavior returnFaults = new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true }; this.container.Register( Component.For <IServiceBehavior>().Instance(metadata), Component.For <IServiceBehavior>().Instance(returnFaults)); this.container.Install(FromAssembly.InDirectory(new AssemblyFilter(ConfigurationManager.AppSettings.Get("ExtensionFolder") ?? string.Empty))); this.kernel = this.container.Kernel; CheckCastleRegisterComponent(); }
public static void InstallFrom(this IWindsorContainer container, IEnumerable <string> directories) { foreach (var dir in directories) { container.Install(FromAssembly.InDirectory(new AssemblyFilter(dir))); } }
public void Can_install_from_assembly_by_directory_simple() { var location = AppDomain.CurrentDomain.BaseDirectory; Container.Install(FromAssembly.InDirectory(new AssemblyFilter(location))); Container.Resolve <object>("Customer-by-CustomerInstaller"); }
public static void Initialize() { var currentDir = Directory.GetCurrentDirectory(); _container = new WindsorContainer(); _container.Kernel.Resolver.AddSubResolver(new CollectionResolver(_container.Kernel, true)); _container.Install(FromAssembly.InDirectory(new AssemblyFilter(currentDir))); }
/// <summary> /// Creates Windsor Container and installs components via all installers within application projects /// </summary> /// <returns></returns> public WindsorContainer Create() { var container = new WindsorContainer(); container.Install(FromAssembly.InDirectory(ApplicationAssemblyHelper.AssemblyFilter)); DependencyResolver.SetResolver(new MvcDependencyResolver(container)); GlobalConfiguration.Configuration.DependencyResolver = new WebApiDependencyResolver(container); return(container); }
private static IWindsorContainer ContainerFactory() { return(new WindsorContainer() .AddFacility <LoggingFacility>(facility => facility.LogUsing(LoggerImplementation.NLog)) .Install(Configuration.FromAppConfig()) .Install(FromAssembly.This()) .Install(FromAssembly.InDirectory(new AssemblyFilter("plugins")))); }
public static WindsorContainer BootstrapWindsor(string assemblyLocation) { container.AddFacility <StartableFacility>(facility => facility.DeferredStart()); container.Install(FromAssembly.InDirectory(new AssemblyFilter(assemblyLocation))); return(container); }
public void Install_from_assembly_by_directory_ignores_non_existing_path() { var location = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Guid.NewGuid().ToString("N")); Container.Install(FromAssembly.InDirectory(new AssemblyFilter(location))); Assert.AreEqual(0, Container.Kernel.GraphNodes.Length); }
public void Start() { container = new WindsorContainer() .Install(FromAssembly.InDirectory(new AssemblyFilter(sagaDirectory))); var sagas = container.ResolveAll <ISaga>(); sagas.LogWith(log).InitializeWith(bus); }
protected void InitialiseContainer() { if (container == null) { container = new WindsorContainer() .Install( Configuration.FromXmlFile("Windsor.xml"), FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "Suteki.*.dll"))); } }
public Investigation Create(InvestigationInfo investigationInfo) { var chidWc = new WindsorContainer($"Investigation-{investigationInfo.InvestigationName}-{investigationInfo.Guid}", new DefaultKernel(), new DefaultComponentInstaller()); this.Container.AddChildContainer(chidWc); chidWc.Register(Component.For <IInvestigationInfo, InvestigationInfo>().Instance(investigationInfo)); chidWc.Register(Component.For <IWindsorContainer, WindsorContainer>().Instance(chidWc)); chidWc.Install(FromAssembly.InDirectory(new AssemblyFilter("."), new InstallerFactoryFilter(typeof(IDetectiveIvestigationWindsorInstaller)))); return(chidWc.Resolve <IInvestigationFactoryInternal>().Create(investigationInfo)); }
void InitializeWindsor() { container = new WindsorContainer() .Install(FromAssembly.This(), FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "*AddIn.dll"))); var controllerFactory = Container.Resolve <IControllerFactory>(); ControllerBuilder.Current.SetControllerFactory(controllerFactory); }
public static void Setup() { _container = new WindsorContainer().Install( FromAssembly.InDirectory(new AssemblyFilter(AppDomain.CurrentDomain.RelativeSearchPath))); var controllerFactory = new WindsorControllerFactory(_container.Kernel); ControllerBuilder.Current.SetControllerFactory(controllerFactory); }
private static IWindsorContainer CreateContainer() { if (string.IsNullOrWhiteSpace(AssemblySearchPath)) { throw new InvalidOperationException("AssemblySearchPath must be set to a valid directory path."); } var container = new WindsorContainer().Install(FromAssembly.InDirectory(new AssemblyFilter(AssemblySearchPath, "SSD.*"))).Install(FromAssembly.This()); return(container); }
public WindsorContainerAdapter() { _container = new WindsorContainer(); //addint suport for collections //http://stw.castleproject.org/Default.aspx?Page=Resolvers&NS=Windsor&AspxAutoDetectCookieSupport=1 _container.Kernel.Resolver.AddSubResolver(new CollectionResolver(this._container.Kernel)); this._container.Install( FromAssembly.InDirectory(new ApplicationAssemblyFilter()) ); }
public static void Bootstrap() { if (!bootstrapped) { WindsorContainer = new WindsorContainer(); var assemblFilter = new AssemblyFilter(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin")); Descriptor = Classes.FromAssemblyInDirectory(assemblFilter); WindsorContainer.Install(FromAssembly.InDirectory(assemblFilter)); bootstrapped = true; } }
public Bootstrapper RegisterComponents() { var appDomainDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var foundAssemblies = FromAssembly.InDirectory(new AssemblyFilter(appDomainDirectory)); Container.Install(foundAssemblies); //Hack: Register container itself Container.Register(Component.For <IWindsorContainer>().Instance(Container)); return(this); }
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddMvc(); var container = new WindsorContainer(); container.Install(FromAssembly.InDirectory(new AssemblyFilter(AppDomain.CurrentDomain.BaseDirectory))); container.Register(Component.For <IConfigurationRoot>().Instance(Configuration)); return(WindsorRegistrationHelper.CreateServiceProvider(container, services)); }
private static void Bootstrap() { var directoryFilter = new AssemblyFilter(HostingEnvironment.MapPath("~/Plugins")); container = new WindsorContainer() .Install(new AssemblyInstaller()) .Install(FromAssembly.InDirectory(directoryFilter)); var controllerFactory = new WindsorControllerFactory(container.Kernel); ControllerBuilder.Current.SetControllerFactory(controllerFactory); }
protected void InitializeWindsor() { _Container = new WindsorContainer(); _Container .Register( Component.For <IWindsorContainer>().Instance(_Container)) .Register( Component.For <ILmsService>().ImplementedBy <LmsService>().LifeStyle.Singleton) .Install(FromAssembly.This(), FromAssembly.InDirectory(new AssemblyFilter(Server.MapPath("/Plugins"), "IUDICO.*.dll")) ); }
public void ConfigureContainer(IWindsorContainer container) { container.Kernel.Resolver.AddSubResolver(new CollectionResolver(container.Kernel, true)); container.AddFacility <TypedFactoryFacility>(); var location = AppContext.BaseDirectory; container.Install( FromAssembly.InDirectory( new AssemblyFilter(location) .FilterByName(a => a.Name.StartsWith("WindsorStartupError")) ) ); }
public void Install_from_assembly_by_directory_empty_name_searches_currentDirectory() { var called = false; Container.Install(FromAssembly.InDirectory(new AssemblyFilter(string.Empty).FilterByAssembly(a => { called = true; return(true); }))); Assert.IsTrue(called); Assert.IsTrue(Container.Kernel.HasComponent("Customer-by-CustomerInstaller")); }