Example #1
0
        /// <summary>
        /// Add Ray
        /// </summary>
        /// <param name="services"><see cref="IServiceCollection"/></param>
        /// <param name="configuration">Ray and Ray module configuration</param>
        /// <param name="builder">Provide a action for building Ray</param>
        /// <returns></returns>
        internal static IServiceCollection AddRay(this IServiceCollection services, IConfiguration configuration, Action <IRayBuilder> builder)
        {
            var build = new RayBuilder(services, configuration);

            if (builder == null)
            {
                throw new RayConfigurationException("Did not inject MQ providers and Storage providers into Ray");
            }
            builder.Invoke(build);

            //Ray builder
            build.Build();
            return(services);
        }
        /// <summary>
        /// Add Ray
        /// </summary>
        /// <param name="services"><see cref="IServiceCollection"/></param>
        /// <param name="configuration">Ray and Ray module configuration</param>
        /// <param name="builder">Provide a action for building Ray</param>
        /// <returns></returns>
        internal static IServiceCollection AddRay(this IServiceCollection services, IConfiguration configuration, Action <IRayBuilder> builder)
        {
            services.AddSingleton(typeof(IKeyedServiceCollection <,>), typeof(KeyedServiceCollection <,>));
            services.AddLogging();
            var build = new RayBuilder(services, configuration);

            if (builder == null)
            {
                throw new RayConfigurationException("Did not inject MQ providers and Storage providers into Ray");
            }
            builder.Invoke(build);

            //Ray builder
            build.Build();
            return(services);
        }