// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseAuthentication(); app.UseRouting(); app.UseHttpsRedirection(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); var consulConfig = new ServiceDiscoveryConfiguration(); Configuration.GetSection("consulConfig").Bind(consulConfig); app.UseConsul(Configuration); app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Authentication API V1"); }); }
public static IServiceCollection AddServiceDiscovery(this IServiceCollection services, Action <ServiceDiscoveryConfiguration> optionsAction) { var options = new ServiceDiscoveryConfiguration(); optionsAction?.Invoke(options); services.TryAddSingleton(options); return(services); }
public UserAccountsClient( ILoggerFactory loggerFactory, ServiceDiscoveryConfiguration configuration, HttpClient httpClient, IServiceRegistryClient discoveryClient) : base(loggerFactory, configuration, httpClient, discoveryClient, "Product.Capability", "UserAccounts") { }
private static void RegisterDiscoveryClient(IServiceCollection services, IConfiguration configuration) { var serviceSection = configuration.GetSection("ServiceDiscovery"); var serviceConfiguration = new ServiceConfiguration(serviceSection["ServiceName"], serviceSection["ServiceUrl"]); var apiGatewayConfiguration = new ServiceDiscoveryConfiguration(serviceSection["ServiceDiscoveryUrl"]); services.AddServiceDiscoveryClientWorker(serviceConfiguration, apiGatewayConfiguration); }
public ServiceDiscoveryHttpClient( ILogger <ServiceDiscoveryHttpClient> logger, ServiceConfiguration serviceConfiguration, ServiceDiscoveryConfiguration apiGatewayConfiguration) { this.logger = logger; this.serviceConfiguration = serviceConfiguration; this.apiGatewayConfiguration = apiGatewayConfiguration; }
public RabbitMQPersistentConnection( IConnectionFactoryResolver connectionFactoryResolver, ServiceDiscoveryConfiguration serviceDiscoveryConfiguration, ILogger <RabbitMQPersistentConnection> logger) { _connectionFactoryResolver = connectionFactoryResolver ?? throw new ArgumentNullException(nameof(connectionFactoryResolver)); _serviceDiscoveryConfiguration = serviceDiscoveryConfiguration; _logger = (ILogger)logger ?? NullLogger.Instance; }
public static IServiceCollection AddServiceDiscovery(this IServiceCollection services, string address, string serviceName) { var options = new ServiceDiscoveryConfiguration() { Address = address, ServiceName = serviceName }; services.TryAddSingleton(options); return(services); }
private static ServiceDiscoveryClient GetServiceDiscoveryClient() { var serviceDiscoveryConfiguration = new ServiceDiscoveryConfiguration(); serviceDiscoveryConfiguration.ServiceUrl = "http://localhost:5000/service-discovery"; var settings = Options.Create(serviceDiscoveryConfiguration); var restClient = new RestClient.RestClient(); var serviceDiscoveryClient = new ServiceDiscoveryClient(settings); return(serviceDiscoveryClient); }
public static IServiceCollection AddServiceDiscoveryClientWorker( this IServiceCollection services, ServiceConfiguration serviceConfiguration, ServiceDiscoveryConfiguration apiGatewayConfiguration) { services.AddSingleton(serviceConfiguration); services.AddSingleton(apiGatewayConfiguration); services.AddTransient <ServiceDiscoveryHttpClient>(); services.AddHostedService <ApiGatewayWorker>(); return(services); }
static async Task Main(string[] args) { var serviceConfiguration = new ServiceConfiguration("SomeService", "https://google.com"); var apiGatewayConfiguration = new ServiceDiscoveryConfiguration("http://localhost:6221"); var myLogger = new MyLogger <ServiceDiscoveryHttpClient>(); var httpClient = new ServiceDiscoveryHttpClient(myLogger, serviceConfiguration, apiGatewayConfiguration); await httpClient.Register(); Console.ReadKey(); await httpClient.Unregister(); Console.WriteLine("Hello World!"); }
public ServiceDiscoveryHostedService( ILogger <ServiceDiscoveryHostedService> logger, ServiceDiscoveryConfiguration configuration, IServiceRegistryClient registryClient, IServer server, ServiceDescriptor serviceDescriptor) { EnsureArg.IsNotNull(logger, nameof(logger)); EnsureArg.IsNotNull(configuration, nameof(configuration)); EnsureArg.IsNotNull(registryClient, nameof(registryClient)); EnsureArg.IsNotNull(server, nameof(server)); EnsureArg.IsNotNull(serviceDescriptor, nameof(serviceDescriptor)); this.logger = logger; this.configuration = configuration; this.registryClient = registryClient; this.server = server; this.serviceDescriptor = serviceDescriptor; this.serviceAddress = this.configuration.ServiceAddresses?.FirstOrDefault(); // TODO: register all addresses (foreach) }
public ServiceDiscoveryOperationResult InitializeConfiguration(string configFilePath) { ServiceDiscoveryOperationResult serviceDiscoveryOperationResult = new ServiceDiscoveryOperationResult() { OperationMethod = "ServiceDiscovery-Initialize-Config", IsSuccess = true }; try { FileStream fileStream = new FileStream(configFilePath, FileMode.Open); try { ServiceDiscoveryConfiguration serviceDiscoveryConfiguration = (new XmlSerializer(typeof(ServiceDiscoveryConfiguration))).Deserialize(fileStream) as ServiceDiscoveryConfiguration; if (serviceDiscoveryConfiguration != null) { this.serviceDiscoveryList = serviceDiscoveryConfiguration.ConfigItems; if ((string.IsNullOrEmpty(serviceDiscoveryConfiguration.AgentIP) ? false : !string.IsNullOrEmpty(serviceDiscoveryConfiguration.AgentPort))) { this.ConfigureConsulAgentUrl(serviceDiscoveryConfiguration.AgentIP, serviceDiscoveryConfiguration.AgentPort); } } } finally { if (fileStream != null) { ((IDisposable)fileStream).Dispose(); } } } catch (Exception exception1) { Exception exception = exception1; serviceDiscoveryOperationResult.IsSuccess = false; serviceDiscoveryOperationResult.ErrorMessage = exception.ToString(); } return(serviceDiscoveryOperationResult); }