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); }
public static IHillPigeonBuilder AddActionModelConvention <TConvention>(this IHillPigeonBuilder builder) where TConvention : IActionModelConvention { builder.Services.AddSingleton(typeof(IActionModelConvention), typeof(TConvention)); return(builder); }
public static IHillPigeonBuilder AddApplicationFeatureProvider <TConvention>(this IHillPigeonBuilder builder) where TConvention : IApplicationFeatureProvider { builder.Services.AddSingleton(typeof(IApplicationFeatureProvider), typeof(TConvention)); return(builder); }