public DefaultRouteValuesBuilder(IOptions <OrleansHttpGatewayOptions> options , IOptions <OrleansRequesterConfiguration> config , IOcelotLoggerFactory factory) { this._config = config?.Value; this._options = options.Value; this._logger = factory.CreateLogger <DefaultRouteValuesBuilder>(); }
public DefaultGrainBuilder(IGrainReference grainReferenceProvider, IOptions <OrleansHttpGatewayOptions> config) { if (config == null) { throw new ArgumentNullException(nameof(config)); } this._grainReferenceProvider = grainReferenceProvider ?? throw new ArgumentNullException(nameof(IGrainReference)); this._options = config.Value; }
public DefaultGrainFactoryGateway(IServiceProvider serviceProvider, IOptions <OrleansHttpGatewayOptions> config, ILogger <DefaultGrainFactoryGateway> logger) { if (config == null) { throw new ArgumentNullException(nameof(config)); } this.logger = logger; this.options = config.Value; this.serviceProvider = serviceProvider; }
public static IServiceCollection AddOrleansHttpGateway(this IServiceCollection services, Action <OrleansHttpGatewayOptions> configure , Action <OrleansClientOptions, IClientBuilder> clientBuild) { services.AddRouting(); services.TryAddSingleton <IGrainBuilder, DefaultGrainBuilder>(); services.TryAddSingleton <IGrainFactoryGateway, DefaultGrainFactoryGateway>(); services.TryAddSingleton <IGrainMethodInvoker, DynamicGrainMethodInvoker>(); services.TryAddSingleton <IGrainReference, DefaultGrainReference>(); services.TryAddSingleton <IRouteDataResolve, DefaultRouteDataResolve>(); services.TryAddSingleton <IParameterBinder, DefaultParameterBinder>(); services.TryAddSingleton(typeof(IKeyedServiceCollection <,>), typeof(KeyedServiceCollection <,>)); //JsonSerializer services.AddSingleton <JsonSerializer>((IServiceProvider serviceProvider) => { JsonSerializerSettings settings = serviceProvider.GetService <JsonSerializerSettings>() ?? new JsonSerializerSettings(); if (!settings.Converters.OfType <ImmutableConverter>().Any()) { settings.Converters.Add(new ImmutableConverter()); } return(JsonSerializer.Create(settings)); }); services.Configure <OrleansHttpGatewayOptions>(options => { configure?.Invoke(options); }); var option = new OrleansHttpGatewayOptions(); configure?.Invoke(option); foreach (var item in option.Clients) { var clientOption = item.Value; services.AddTransientNamedService <IClientBuilder>(clientOption.Assembly.Location, (service, key) => { var build = new ClientBuilder(); build.Configure <ClusterOptions>(opt => { opt.ClusterId = clientOption.ClusterId; opt.ServiceId = clientOption.ServiceId; }); clientBuild?.Invoke(clientOption, build); return(build); }); } return(services); }
public OrleansHttpGatewayMiddleware(RequestDelegate next, IOptions <OrleansHttpGatewayOptions> config, JsonSerializer serializer, IGrainBuilder grainBuilder, IGrainMethodInvoker grainMethodInvoker, IRouteDataResolve routeDataResolve, ILogger <OrleansHttpGatewayMiddleware> logger) { if (config == null) { throw new ArgumentNullException(nameof(config)); } this._routeDataResolve = routeDataResolve; this._options = config.Value; this._grainBuilder = grainBuilder ?? throw new ArgumentNullException(nameof(grainBuilder)); this._grainInvoker = grainMethodInvoker; this._logger = logger; _serializer = serializer; _next = next; }
public DefaultClusterClientBuilder(IOptions <OrleansHttpGatewayOptions> options, IOcelotLoggerFactory factory) { this._logger = factory.CreateLogger <DefaultClusterClientBuilder>(); this._options = options.Value; }
public DefaultRouteDataResolve(IOptions <OrleansHttpGatewayOptions> config) { this.options = config.Value; }