public static IHillPigeonBuilder AddOrleansCore(this IHillPigeonBuilder builder, Action <OrleansRouteingOptions> setupAction)
        {
            builder.Services.Configure <OrleansRouteingOptions>(setupAction);
            builder.Services.AddSingleton <OrleansActionILGeneratFactory>();

            //配置HillPigeon组件
            builder.AddActionModelConvention <OrleansActionModelConvention>();
            builder.AddControllerModelConvention <OrleansControllerModelConvention>();
            builder.AddParameterModelConvention <OrleansParameterModelConvention>();
            builder.AddApplicationFeatureProvider <OrleansApplicationFeatureProvider>();
            return(builder);
        }
 public static IHillPigeonBuilder AddOrleansCore(this IHillPigeonBuilder builder)
 {
     //配置HillPigeon ApplicationModels组件
     builder.Services.AddSingleton <OrleansActionILGeneratFactory>();
     builder.AddActionModelConvention <OrleansActionModelConvention>();
     builder.AddControllerModelConvention <OrleansControllerModelConvention>();
     builder.AddParameterModelConvention <OrleansParameterModelConvention>();
     builder.AddApplicationFeatureProvider <OrleansApplicationFeatureProvider>();
     //配置Orleans Client
     builder.Services.AddSingleton <IClusterClientFactory, DefaultClusterClientFactory>();
     builder.Services.AddSingleton <IOrleansClient, DefaultOrleansClient>();
     return(builder);
 }
        public static IHillPigeonBuilder ConfigureHttpGateway(this IHillPigeonBuilder builder, Action <HttpGatewayOptions> startupAction)
        {
            HttpGatewayOptions options = new HttpGatewayOptions();

            startupAction.Invoke(options);
            if (builder.Properties.ContainsKey(httpGatewayOptionsKey))
            {
                builder.Properties[httpGatewayOptionsKey] = options;
            }
            else
            {
                builder.Properties.Add(httpGatewayOptionsKey, options);
            }
            return(builder);
        }
        internal static IHillPigeonBuilder PostConfigureHttpGateway(this IHillPigeonBuilder builder)
        {
            HttpGatewayOptions httpGatewayOptions;

            if (builder.Properties.ContainsKey(httpGatewayOptionsKey))
            {
                httpGatewayOptions = (HttpGatewayOptions)builder.Properties[httpGatewayOptionsKey];
            }
            else
            {
                httpGatewayOptions = new HttpGatewayOptions();
            }
            builder.Services.ConfigureOptions(httpGatewayOptions);
            return(builder);
        }
        public static IHillPigeonBuilder ConfigureOrleansRouting(this IHillPigeonBuilder builder, Action <OrleansRoutingOptions> startupAction)
        {
            OrleansRoutingOptions options = new OrleansRoutingOptions();

            startupAction.Invoke(options);
            if (builder.Properties.ContainsKey(orleansRouteingOptionsKey))
            {
                builder.Properties[orleansRouteingOptionsKey] = options;
            }
            else
            {
                builder.Properties.Add(orleansRouteingOptionsKey, options);
            }
            return(builder);
        }
        internal static IHillPigeonBuilder PostConfigureOrleansRouting(this IHillPigeonBuilder builder)
        {
            OrleansRoutingOptions routingOptions;

            if (builder.Properties.ContainsKey(orleansRouteingOptionsKey))
            {
                routingOptions = (OrleansRoutingOptions)builder.Properties[orleansRouteingOptionsKey];
            }
            else
            {
                routingOptions = new OrleansRoutingOptions();
            }
            builder.Services.ConfigureOptions(routingOptions);
            return(builder);
        }
 public static IHillPigeonBuilder AddOrleans(this IHillPigeonBuilder builder)
 {
     builder.PostConfigureOrleansRouting();
     builder.AddOrleansCore();
     return(builder);
 }
 public static IHillPigeonBuilder AddOrleans(this IHillPigeonBuilder builder, OrleansRoutingOptions options)
 {
     builder.Services.ConfigureOptions(options);
     builder.AddOrleansCore();
     return(builder);
 }
 public static IHillPigeonBuilder AddOrleans(this IHillPigeonBuilder builder, Action <OrleansRoutingOptions> setupAction)
 {
     builder.Services.Configure <OrleansRoutingOptions>(setupAction);
     builder.AddOrleansCore();
     return(builder);
 }
Ejemplo n.º 10
0
 public static IHillPigeonBuilder AddActionModelConvention <TConvention>(this IHillPigeonBuilder builder)
     where TConvention : IActionModelConvention
 {
     builder.Services.AddSingleton(typeof(IActionModelConvention), typeof(TConvention));
     return(builder);
 }
Ejemplo n.º 11
0
 public static IHillPigeonBuilder AddApplicationFeatureProvider <TConvention>(this IHillPigeonBuilder builder)
     where TConvention : IApplicationFeatureProvider
 {
     builder.Services.AddSingleton(typeof(IApplicationFeatureProvider), typeof(TConvention));
     return(builder);
 }