Browse Source

Merge pull request #142 from chlowell/hosting-changes

Set application discriminators, work around Redis client issue
pull/167/head
Cesar De la Torre 7 years ago
committed by GitHub
parent
commit
63eed87292
4 changed files with 29 additions and 6 deletions
  1. +14
    -6
      src/Services/Basket/Basket.API/Model/RedisBasketRepository.cs
  2. +5
    -0
      src/Services/Identity/Identity.API/Startup.cs
  3. +5
    -0
      src/Web/WebMVC/Startup.cs
  4. +5
    -0
      src/Web/WebSPA/Startup.cs

+ 14
- 6
src/Services/Basket/Basket.API/Model/RedisBasketRepository.cs View File

@ -94,13 +94,21 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API.Model
private async Task ConnectToRedisAsync()
{
//TODO: Need to make this more robust. Also want to understand why the static connection method cannot accept dns names.
var ips = await Dns.GetHostAddressesAsync(_settings.ConnectionString);
_logger.LogInformation($"Connecting to database {_settings.ConnectionString} at IP {ips.First().ToString()}");
_redis = await ConnectionMultiplexer.ConnectAsync(ips.First().ToString());
// TODO: Need to make this more robust. ConnectionMultiplexer.ConnectAsync doesn't like domain names or IPv6 addresses.
if (IPAddress.TryParse(_settings.ConnectionString, out var ip))
{
_redis = await ConnectionMultiplexer.ConnectAsync(ip.ToString());
_logger.LogInformation($"Connecting to database at {_settings.ConnectionString}");
}
else
{
// workaround for https://github.com/StackExchange/StackExchange.Redis/issues/410
var ips = await Dns.GetHostAddressesAsync(_settings.ConnectionString);
_logger.LogInformation($"Connecting to database {_settings.ConnectionString} at IP {ips.First().ToString()}");
_redis = await ConnectionMultiplexer.ConnectAsync(ips.First().ToString());
}
}
}
}

+ 5
- 0
src/Services/Identity/Identity.API/Startup.cs View File

@ -57,6 +57,11 @@ namespace eShopOnContainers.Identity
services.Configure<AppSettings>(Configuration);
services.AddDataProtection(opts =>
{
opts.ApplicationDiscriminator = "eshop.identity";
});
services.AddMvc();
services.AddHealthChecks(checks =>


+ 5
- 0
src/Web/WebMVC/Startup.cs View File

@ -44,6 +44,11 @@ namespace Microsoft.eShopOnContainers.WebMVC
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddDataProtection(opts =>
{
opts.ApplicationDiscriminator = "eshop.webmvc";
});
services.AddMvc();
services.Configure<AppSettings>(Configuration);


+ 5
- 0
src/Web/WebSPA/Startup.cs View File

@ -51,6 +51,11 @@ namespace eShopConContainers.WebSPA
services.Configure<AppSettings>(Configuration);
services.AddDataProtection(opts =>
{
opts.ApplicationDiscriminator = "eshop.webspa";
});
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
services.AddMvc()


Loading…
Cancel
Save