示例#1
0
        public static IServiceCollection AddCronus(this IServiceCollection services, CronusServicesProvider cronusServicesProvider)
        {
            services.AddTenantSupport();
            services.AddCronusHostOptions();
            services.AddDefaultSubscribers();

            var discoveryFinder = new DiscoveryScanner(cronusServicesProvider);

            discoveryFinder.Discover();

            return(services);
        }
示例#2
0
        /// <summary>
        /// // Adds Cronus core services
        /// </summary>
        public static IServiceCollection AddCronus(this IServiceCollection services, CronusServicesProvider cronusServicesProvider)
        {
            services.AddTenantSupport();
            services.AddCronusHostOptions();
            services.AddDefaultSubscribers();

            var discoveryFinder  = new DiscoveryScanner();
            var discoveryContext = new DiscoveryContext(AssemblyLoader.Assemblies.Values, cronusServicesProvider.Configuration);
            var discoveryResults = discoveryFinder.Scan(discoveryContext);

            foreach (var result in discoveryResults)
            {
                cronusServicesProvider.HandleDiscoveredModel(result);
            }

            return(services);
        }