示例#1
0
        public IConfigureAnEndpoint WithConfiguration <TDefault>() where TDefault : IDefaultEndpointConfiguration, new()
        {
            var defaultConfiguration = new TDefault();

            defaultConfiguration.ConfigureEndpoint(Configuration);
            return(this);
        }
        public IConfigureAnEndpoint WithRouting <TDefault>() where TDefault : IDefaultRoutingConfiguration <T>, new()
        {
            var routing = Transport.Routing();
            var defaultConfiguration = new TDefault();

            defaultConfiguration.ConfigureRouting(routing);

            return(configureEndpoint);
        }
示例#3
0
        public IConfigureAnEndpoint WithConventions <TDefault>() where TDefault : IDefaultConventionsConfiguration, new()
        {
            var conventions          = Configuration.Conventions();
            var defaultConfiguration = new TDefault();

            defaultConfiguration.ConfigureConventions(conventions);

            return(this);
        }
示例#4
0
        /// <summary>
        /// Returns the registered service or default service
        /// </summary>
        /// <typeparam name="TService">Service type</typeparam>
        /// <typeparam name="TDefault">Default service implementation</typeparam>
        /// <returns>Return the service instance</returns>
        public static TService Resolve <TService, TDefault>() where TDefault : TService, new()
        {
            var service = Resolve <TService>();

            if (service == null)
            {
                service = new TDefault();
            }
            return(service);
        }
示例#5
0
        public IConfigureAnEndpoint WithPersistence <T, TDefault>()
            where T : PersistenceDefinition
            where TDefault : IDefaultPersistenceConfiguration <T>, new()
        {
            var persistence          = Configuration.UsePersistence <T>();
            var defaultConfiguration = new TDefault();

            defaultConfiguration.ConfigurePersistence(persistence);

            return(this);
        }
        public static TInterface ResolveOnCurrentInstance <TInterface, TDefault>()
            where TInterface : class
            where TDefault : TInterface, new()
        {
            TInterface resolved = null;

            if (Current != null)
            {
                resolved = Current.Resolve <TInterface>();
            }
            if (resolved == null)
            {
                resolved = new TDefault();
            }
            return(resolved);
        }