public void GetServiceReturnsNullForUnregisteredService()
        {
            var container = new ContainerBuilder().Build();
            var resolver  = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(object));

            Assert.Null(service);
        }
        public void GetServiceReturnsNullForUnregisteredService()
        {
            var container = new ContainerBuilder().Build();
            var resolver = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(object));

            Assert.Null(service);
        }
예제 #3
0
        public void InitializeTest()
        {
            var     dependencyResolver = new AutofacDependencyResolver(new string[] { "Infrastructure.Tests" });
            ILogger logger             = null;

            logger = dependencyResolver.GetService <ILogger>(LoggerType.File.ToString());

            Assert.IsInstanceOf <FileLogger>(logger);
        }
        public void CanResolveDefaultServices()
        {
            var container = new ContainerBuilder().Build();
            var resolver  = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(IMessageBus));

            Assert.That(service, Is.InstanceOf <IMessageBus>());
        }
        public void CanResolveDefaultServices()
        {
            var container = new ContainerBuilder().Build();
            var resolver  = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(IMessageBus));

            Assert.IsAssignableFrom <IMessageBus>(service);
        }
예제 #6
0
        public void GetServiceReturnsNullForUnregisteredService()
        {
            var container             = new ContainerBuilder().Build();
            var lifetimeScopeProvider = new StubLifetimeScopeProvider(container);
            var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider);

            var service = resolver.GetService(typeof(object));

            Assert.That(service, Is.Null);
        }
        public void GetServiceReturnsRegisteredService()
        {
            var builder = new ContainerBuilder();
            builder.Register(c => new object());
            var container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(object));

            Assert.NotNull(service);
        }
        public void CanOverrideDefaultServices()
        {
            var builder    = new ContainerBuilder();
            var messageBus = new Mock <IMessageBus>().Object;

            builder.RegisterInstance(messageBus);
            var resolver = new AutofacDependencyResolver(builder.Build());

            var service = resolver.GetService(typeof(IMessageBus));

            Assert.Same(messageBus, service);
        }
        public void GetServiceReturnsRegisteredService()
        {
            var builder = new ContainerBuilder();

            builder.Register(c => new object());
            var container = builder.Build();
            var resolver  = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(object));

            Assert.NotNull(service);
        }
        public void Resolve_SingleTypeParameter_Resolved()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType<InterfaceImplementationA>().As<IInterfaceToResolve>();

            var container = builder.Build();

            var theResolver = new AutofacDependencyResolver(container);

            Assert.IsType<InterfaceImplementationA>(theResolver.GetService(typeof (IInterfaceToResolve)));
        }
예제 #11
0
        public void ConfigurationActionInvokedForNestedLifetime()
        {
            var container = new ContainerBuilder().Build();
            Action <ContainerBuilder> configurationAction = builder => builder.Register(c => new object());
            var lifetimeScopeProvider = new StubLifetimeScopeProvider(container);
            var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider, configurationAction);

            var service  = resolver.GetService(typeof(object));
            var services = resolver.GetServices(typeof(object));

            Assert.NotNull(service);
            Assert.Single(services);
        }
예제 #12
0
        /// <summary>
        /// 构建服务并设置MVC平台的Resolver
        /// </summary>
        /// <param name="services">服务映射信息集合</param>
        /// <param name="assemblies">程序集集合</param>
        /// <returns>服务提供者</returns>
        protected override IServiceProvider BuildAndSetResolver(IServiceCollection services, Assembly[] assemblies)
        {
            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterControllers(assemblies).AsSelf().PropertiesAutowired();
            builder.RegisterFilterProvider();
            builder.Populate(services);
            IContainer          container = builder.Build();
            IDependencyResolver resolver  = new AutofacDependencyResolver(container);

            DependencyResolver.SetResolver(resolver);
            return(resolver.GetService <IServiceProvider>());
        }
예제 #13
0
        internal static void RegisterAutofacInternal(IServiceCollection serviceCollection,
                                                     params Assembly[] controllerAssemblies)
        {
            var builder = new ContainerBuilder();

            builder.RegisterFilterProvider();
            builder.Populate(serviceCollection);
            builder.RegisterControllers(controllerAssemblies)
            .PropertiesAutowired();
            var container = builder.Build();
            var resolver  = new AutofacDependencyResolver(container);

            DependencyResolver.SetResolver(resolver);
            ServiceProvider.SetProvider(() => resolver.GetService <IServiceProvider>());
        }
예제 #14
0
        public Form1()
        {
            InitializeComponent();
            var resolver       = new AutofacDependencyResolver();
            var productService = resolver.GetService <IProductService>();


            //var b = productService.Create("tolga", "cakir");

            var a = productService.Get("a", "b");

            a = productService.AOP_Get("a", "b");
            int i = 0;

            //throw new Exception();
            //((ProductService)productService).Set("c", "d");
        }
예제 #15
0
        protected void Application_Start()
        {
            CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
            {
                string configuration = RoleEnvironment.IsAvailable ?
                                       RoleEnvironment.GetConfigurationSettingValue(configName) :
                                       ConfigurationManager.AppSettings[configName];

                configSetter(configuration);
            });

            // Setup AutoFac
            var builder = new ContainerBuilder();

            this.DependencySetup(builder);
            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            // Setup WCF Web API Config
            var resolver = new AutofacDependencyResolver(container);

            GlobalConfiguration.Configuration.ServiceResolver.SetResolver(
                t => resolver.GetService(t), t => resolver.GetServices(t));

            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            FederatedAuthentication.ServiceConfigurationCreated += this.OnServiceConfigurationCreated;

            // Call Initializers
            var initializers = DependencyResolver.Current.GetServices <IStorageInitializer>();

            foreach (var initializer in initializers)
            {
                initializer.Initialize();
            }
        }
예제 #16
0
 public TService GetService <TService>()
 {
     return(_resolver.GetService <TService>());
 }
예제 #17
0
 /// <summary>
 /// Resolves singly registered services that support arbitrary object creation.
 /// </summary>
 /// <returns>
 /// The requested service or object if resolved; otherwise, <c>null</c>.
 /// </returns>
 /// <param name="serviceType">The type of the requested service or object.</param>
 public object GetService(Type serviceType)
 {
     //ResolutionAttemptTuple<object> result = TryResolve(serviceType);
     //return result.Value;
     return(_realDependencyResolver.GetService(serviceType));
 }
        public void CanResolveDefaultServices()
        {
            var container = new ContainerBuilder().Build();
            var resolver = new AutofacDependencyResolver(container);

            var service = resolver.GetService(typeof(IMessageBus));

            Assert.IsAssignableFrom<IMessageBus>(service);
        }
        public void CanOverrideDefaultServices()
        {
            var builder = new ContainerBuilder();
            var messageBus = new Mock<IMessageBus>().Object;
            builder.RegisterInstance(messageBus);
            var resolver = new AutofacDependencyResolver(builder.Build());

            var service = resolver.GetService(typeof(IMessageBus));

            Assert.Same(messageBus, service);
        }
예제 #20
0
 /// <summary>
 /// Retrieves a service from the scope.
 /// </summary>
 /// <param name="serviceType">The service to be retrieved.</param>
 /// <returns>
 /// The retrieved service.
 /// </returns>
 public object GetService(Type serviceType)
 {
     return(_container.ApplicationContainer.IsRegistered(serviceType) ? _container.GetService(serviceType) : null);
 }