Esempio n. 1
0
    public static LinFxBuilder AddApplication <TStartupModule>(
        [NotNull] this LinFxBuilder builder,
        [CanBeNull] Action <ApplicationCreationOptions> optionsAction = null)
        where TStartupModule : IModule
    {
        AddApplication <TStartupModule>(builder.Services, optionsAction);

        return(builder);
    }
    public static LinFxBuilder AddBlogging(this LinFxBuilder builder)
    {
        builder
        .AddAssembly(typeof(BloggingServiceCollectionExtensions).Assembly);

        builder.Services.Configure <PermissionOptions>(options =>
        {
            options.DefinitionProviders.Add(typeof(BloggingPermissionDefinitionProvider));
        });

        return(builder);
    }
Esempio n. 3
0
    public static LinFxBuilder AddRabbitMq(this LinFxBuilder builder, Action <RabbitMqOptions> optionsAction)
    {
        Check.NotNull(builder, nameof(builder));
        Check.NotNull(optionsAction, nameof(optionsAction));

        var options = new RabbitMqOptions();

        optionsAction?.Invoke(options);
        builder.Services.Configure(optionsAction);

        return(builder.AddRabbitMq());
    }
Esempio n. 4
0
    public static LinFxBuilder AddRabbitMq(this LinFxBuilder builder)
    {
        Check.NotNull(builder, nameof(builder));

        builder.Services
        .AddSingleton <IConnectionPool, ConnectionPool>()
        .AddSingleton <IChannelPool, ChannelPool>()
        .AddSingleton <IRabbitMqMessageConsumerFactory, RabbitMqMessageConsumerFactory>()
        .AddSingleton <IRabbitMqSerializer, RabbitMqSerializer>()
        .AddTransient <RabbitMqMessageConsumer>();

        return(builder);
    }
    /// <summary>
    /// AddLinFx Code
    /// </summary>
    /// <param name="services"></param>
    /// <param name="optionsAction"></param>
    /// <returns></returns>
    public static LinFxBuilder AddLinFx(this IServiceCollection services, Action <LinFxOptions> optionsAction = default)
    {
        if (optionsAction != null)
        {
            services.Configure(optionsAction);
        }

        var builder = new LinFxBuilder(services);

        services.AddCoreServices();
        services.AddAssemblyOf <IApplication>();

        return(builder);
    }
 public EventBusOptionsBuilder(LinFxBuilder fx, EventBusOptions options)
 {
     Fx      = fx;
     Options = options;
 }
Esempio n. 7
0
 /// <summary>
 /// 注册程序集下实现依赖注入接口的类型
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="assembly"></param>
 public static LinFxBuilder AddAssembly(this LinFxBuilder builder, Assembly assembly)
 {
     builder.Services.AddAssembly(assembly);
     return(builder);
 }
Esempio n. 8
0
 public static LinFxBuilder Configure <TOptions>(this LinFxBuilder builder, Action <TOptions> configureOptions)
     where TOptions : class
 {
     builder.Services.Configure(configureOptions);
     return(builder);
 }