Example #1
0
        public void Creation()
        {
            IFacility facility = _kernel.GetFacilities()[0];

            Assert.IsNotNull(facility);
            Assert.AreSame(_facility, facility);
        }
Example #2
0
        public void Creation()
        {
            var facility = kernel.GetFacilities()[0];

            Assert.IsNotNull(facility);
            Assert.AreSame(this.facility, facility);
        }
Example #3
0
        internal void Init(IKernel kernel, WcfFacility facility)
        {
            this.kernel   = kernel;
            this.facility = facility;

            AddDefaultChannelBuilders();
            AddDefaultBindingPolicies();

            kernel.Register(
                Component.For(typeof(IChannelFactoryBuilder <>))
                .ImplementedBy(typeof(AsynChannelFactoryBuilder <>))
                .DependsOn(Property.ForKey <ProxyGenerator>().Eq(proxyGenerator))
                .Unless(Component.ServiceAlreadyRegistered)
                );

            if (kernel.GetFacilities().OfType <TypedFactoryFacility>().Any())
            {
                kernel.Register(
                    Component.For <IWcfClientFactory>().AsFactory(c => c.SelectedWith(new WcfClientFactorySelector()))
                    );
            }

            kernel.ComponentModelCreated += Kernel_ComponentModelCreated;
            kernel.ComponentUnregistered += Kernel_ComponentUnregistered;

            if (afterInit != null)
            {
                afterInit();
                afterInit = null;
            }
        }
 public void Register(IKernel kernel) {
     var fclty = kernel.GetFacilities().FirstOrDefault(f => f is OptionalPropertyInjectionFacility) as OptionalPropertyInjectionFacility;
     if (fclty.IsNotNull()) {
         fclty.UseRegistrationOptions(_options, 
             () => _inner.Register(kernel));
     }
     else
         _inner.Register(kernel);
 }
Example #5
0
        public IEnumerable <DebuggerViewItem> Attach()
        {
            var facilities = kernel.GetFacilities();

            if (facilities.Length == 0)
            {
                yield break;
            }
            yield return(new DebuggerViewItem("Facilities", "Count = " + facilities.Length, facilities));
        }
Example #6
0
        public void Register(IKernel kernel)
        {
            var fclty = kernel.GetFacilities().FirstOrDefault(f => f is OptionalPropertyInjectionFacility) as OptionalPropertyInjectionFacility;

            if (fclty.IsNotNull())
            {
                fclty.UseRegistrationOptions(_options,
                                             () => _inner.Register(kernel));
            }
            else
            {
                _inner.Register(kernel);
            }
        }
        public static IKernel AddAspectCoreFacility(this IKernel Kernel, Action <IAspectConfiguration> configure = null)
        {
            if (Kernel == null)
            {
                throw new ArgumentNullException(nameof(Kernel));
            }
            var config = new AspectConfiguration();

            configure?.Invoke(config);
            if (Kernel.GetFacilities().All(x => !(x.GetType() == typeof(AspectCoreFacility))))
            {
                Kernel.AddFacility(new AspectCoreFacility(config));
            }
            return(Kernel);
        }
Example #8
0
        protected void AddFacility <T>(IKernel kernel) where T : IFacility, new()
        {
            if (kernel == null)
            {
                throw new ArgumentNullException("kernel");
            }

            IFacility[] facilities = kernel.GetFacilities();

            if (facilities != null && facilities.Any(f => f.GetType() == typeof(T)))
            {
                return;
            }

            kernel.AddFacility <T>();
        }
Example #9
0
        public void AddFacilities()
        {
            String xml =
                "<configuration>" +
                "	<facilities>"+
                "		<facility id=\"batchregistration\">"+
                "			<addFacility id=\"facility1\" type=\"Castle.Facilities.BatchRegistration.Tests.Facilities.Facility1, Castle.Facilities.BatchRegistration.Tests\" />"+
                "			<addFacility id=\"facility2\" type=\"Castle.Facilities.BatchRegistration.Tests.Facilities.Facility2, Castle.Facilities.BatchRegistration.Tests\" />"+
                "		</facility>"+
                "	</facilities>"+
                "</configuration>";

            XmlInterpreter interpreter = new XmlInterpreter(new StaticContentResource(xml));

            interpreter.ProcessResource(interpreter.Source, _kernel.ConfigurationStore);

            _kernel.AddFacility("batchregistration", new BatchRegistrationFacility());

            IFacility[] facilities = _kernel.GetFacilities();
            Assert.AreEqual(3, facilities.Length);
        }