diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
index 80886821d..3799fe14d 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj
@@ -15,20 +15,20 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/BasketService.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/BasketService.cs
index 80846ca3d..5c8128be8 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/BasketService.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/BasketService.cs
@@ -27,9 +27,10 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
public async Task GetById(string id)
{
- return await GrpcCallerService.CallService(_urls.GrpcBasket, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcBasket, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+
+ var client = new Basket.BasketClient(channel);
_logger.LogDebug("grpc client created, request = {@id}", id);
var response = await client.GetBasketByIdAsync(new BasketRequest { Id = id });
_logger.LogDebug("grpc response {@response}", response);
@@ -42,7 +43,8 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
{
await GrpcCallerService.CallService(_urls.GrpcBasket, async httpClient =>
{
- var client = GrpcClient.Create(httpClient);
+ var channel = GrpcChannel.ForAddress(_urls.GrpcBasket);
+ var client = new Basket.BasketClient(channel);
_logger.LogDebug("Grpc update basket currentBasket {@currentBasket}", currentBasket);
var request = MapToCustomerBasketRequest(currentBasket);
_logger.LogDebug("Grpc update basket request {@request}", request);
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/CatalogService.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/CatalogService.cs
index b03ad9bab..2cf160d80 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/CatalogService.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/CatalogService.cs
@@ -25,9 +25,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
public async Task GetCatalogItemAsync(int id)
{
- return await GrpcCallerService.CallService(_urls.Catalog + UrlsConfig.CatalogOperations.GetItemById(id), async httpClient =>
+ return await GrpcCallerService.CallService(_urls.Catalog + UrlsConfig.CatalogOperations.GetItemById(id), async channel =>
{
- var client = GrpcClient.Create(_httpClient);
+ var client = new CatalogClient(channel);
var request = new CatalogItemRequest { Id = id };
var response = await client.GetItemByIdAsync(request);
return MapToCatalogItemResponse(response);
@@ -37,9 +37,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
public async Task> GetCatalogItemsAsync(IEnumerable ids)
{
- return await GrpcCallerService.CallService(_urls.GrpcCatalog, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcCatalog, async channel=>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new CatalogClient(channel);
var request = new CatalogItemsRequest { Ids = string.Join(",", ids), PageIndex = 1, PageSize = 10 };
var response = await client.GetItemsByIdsAsync(request);
return response.Data.Select(this.MapToCatalogItemResponse);
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/GrpcCallerService.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/GrpcCallerService.cs
index 0209dffb1..6da9787a0 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/GrpcCallerService.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/GrpcCallerService.cs
@@ -4,79 +4,85 @@ using System;
using Grpc.Core;
using Serilog;
using Polly;
+using Grpc.Net.Client;
namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
{
public static class GrpcCallerService
{
- public static async Task CallService(string urlGrpc, Func> func)
+ public static async Task CallService(string urlGrpc, Func> func)
{
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", true);
+ var channel = GrpcChannel.ForAddress(urlGrpc);
+
+ /*
using var httpClientHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }
};
- using var httpClient = new HttpClient(httpClientHandler)
- {
- BaseAddress = new Uri(urlGrpc)
- };
+ */
- Log.Information("Creating grpc client base address urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress} ", urlGrpc, httpClient.BaseAddress);
+
+ Log.Information("Creating grpc client base address urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress} ", urlGrpc, channel.Target);
try
{
return await Policy
.Handle(ex => true)
- .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, httpClient.BaseAddress,e.Message))
- .ExecuteAsync(() => func(httpClient))
+ .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, channel.Target, e.Message))
+ .ExecuteAsync(() => func(channel))
;
}
catch (RpcException e)
{
Log.Error($"Error calling via grpc: {e.Status} - {e.Message}");
+ return default;
+ }
+ finally
+ {
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
}
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
- return default;
}
- public static async Task CallService(string urlGrpc, Func func)
+ public static async Task CallService(string urlGrpc, Func func)
{
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", true);
+ /*
using var httpClientHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }
};
+ */
- using var httpClient = new HttpClient(httpClientHandler)
- {
- BaseAddress = new Uri(urlGrpc)
- };
+ var channel = GrpcChannel.ForAddress(urlGrpc);
- Log.Debug("Creating grpc client base address {@httpClient.BaseAddress} ", httpClient.BaseAddress);
+ Log.Debug("Creating grpc client base address {@httpClient.BaseAddress} ", channel.Target);
try
{
await Policy
.Handle(ex => true)
- .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, httpClient.BaseAddress, e.Message))
- .ExecuteAsync(() => func(httpClient))
+ .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, channel.Target, e.Message))
+ .ExecuteAsync(() => func(channel))
;
}
catch (RpcException e)
{
Log.Error($"Error calling via grpc: {e.Status} - {e.Message}");
}
-
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
+ finally
+ {
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
+ }
}
}
}
diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderingService.cs b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderingService.cs
index d42c14344..a48c942de 100644
--- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderingService.cs
+++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Services/OrderingService.cs
@@ -26,9 +26,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Services
public async Task GetOrderDraftAsync(BasketData basketData)
{
- return await GrpcCallerService.CallService(_urls.GrpcOrdering, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcOrdering, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new OrderingGrpc.OrderingGrpcClient(channel);
_logger.LogDebug(" grpc client created, basketData={@basketData}", basketData);
var command = MapToOrderDraftCommand(basketData);
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/BasketService.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/BasketService.cs
index 8eb8865fe..b289e98d6 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/BasketService.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/BasketService.cs
@@ -26,9 +26,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
public async Task GetById(string id)
{
- return await GrpcCallerService.CallService(_urls.GrpcBasket, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcBasket, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new Basket.BasketClient(channel);
_logger.LogDebug("grpc client created, request = {@id}", id);
var response = await client.GetBasketByIdAsync(new BasketRequest { Id = id });
_logger.LogDebug("grpc response {@response}", response);
@@ -39,9 +39,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
public async Task UpdateAsync(BasketData currentBasket)
{
- await GrpcCallerService.CallService(_urls.GrpcBasket, async httpClient =>
+ await GrpcCallerService.CallService(_urls.GrpcBasket, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new Basket.BasketClient(channel);
_logger.LogDebug("Grpc update basket currentBasket {@currentBasket}", currentBasket);
var request = MapToCustomerBasketRequest(currentBasket);
_logger.LogDebug("Grpc update basket request {@request}", request);
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/CatalogService.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/CatalogService.cs
index a03c67db2..c10094928 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/CatalogService.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/CatalogService.cs
@@ -28,9 +28,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
public async Task GetCatalogItemAsync(int id)
{
- return await GrpcCallerService.CallService(_urls.GrpcCatalog, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcCatalog, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new CatalogClient(channel);
var request = new CatalogItemRequest { Id = id };
_logger.LogInformation("grpc client created, request = {@request}", request);
var response = await client.GetItemByIdAsync(request);
@@ -41,9 +41,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
public async Task> GetCatalogItemsAsync(IEnumerable ids)
{
- return await GrpcCallerService.CallService(_urls.GrpcCatalog, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcCatalog, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new CatalogClient(channel);
var request = new CatalogItemsRequest { Ids = string.Join(",", ids), PageIndex = 1, PageSize = 10 };
_logger.LogInformation("grpc client created, request = {@request}", request);
var response = await client.GetItemsByIdsAsync(request);
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/GrpcCallerService.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/GrpcCallerService.cs
index d69a30f88..dd3d14303 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/GrpcCallerService.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/GrpcCallerService.cs
@@ -4,79 +4,85 @@ using System;
using Grpc.Core;
using Serilog;
using Polly;
+using Grpc.Net.Client;
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
{
public static class GrpcCallerService
{
- public static async Task CallService(string urlGrpc, Func> func)
+ public static async Task CallService(string urlGrpc, Func> func)
{
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", true);
+ var channel = GrpcChannel.ForAddress(urlGrpc);
+
+ /*
using var httpClientHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }
};
- using var httpClient = new HttpClient(httpClientHandler)
- {
- BaseAddress = new Uri(urlGrpc)
- };
+ */
- Log.Information("Creating grpc client base address urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress} ", urlGrpc, httpClient.BaseAddress);
+
+ Log.Information("Creating grpc client base address urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress} ", urlGrpc, channel.Target);
try
{
return await Policy
.Handle(ex => true)
- .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, httpClient.BaseAddress, e.Message))
- .ExecuteAsync(() => func(httpClient))
+ .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, channel.Target, e.Message))
+ .ExecuteAsync(() => func(channel))
;
}
catch (RpcException e)
{
Log.Error($"Error calling via grpc: {e.Status} - {e.Message}");
+ return default;
+ }
+ finally
+ {
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
}
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
- return default;
}
- public static async Task CallService(string urlGrpc, Func func)
+ public static async Task CallService(string urlGrpc, Func func)
{
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", true);
+ /*
using var httpClientHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }
};
+ */
- using var httpClient = new HttpClient(httpClientHandler)
- {
- BaseAddress = new Uri(urlGrpc)
- };
+ var channel = GrpcChannel.ForAddress(urlGrpc);
- Log.Debug("Creating grpc client base address {@httpClient.BaseAddress} ", httpClient.BaseAddress);
+ Log.Debug("Creating grpc client base address {@httpClient.BaseAddress} ", channel.Target);
try
{
await Policy
.Handle(ex => true)
- .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, httpClient.BaseAddress, e.Message))
- .ExecuteAsync(() => func(httpClient))
+ .WaitAndRetryAsync(5, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (e, t) => Log.Warning("Retrying the call to urlGrpc ={@urlGrpc}, BaseAddress={@BaseAddress}, errorMessage={@message}", urlGrpc, channel.Target, e.Message))
+ .ExecuteAsync(() => func(channel))
;
}
catch (RpcException e)
{
Log.Error($"Error calling via grpc: {e.Status} - {e.Message}");
}
-
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
- AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
+ finally
+ {
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", false);
+ AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", false);
+ }
}
}
}
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderingService.cs b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderingService.cs
index 6c2394353..8075a507c 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderingService.cs
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Services/OrderingService.cs
@@ -27,9 +27,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services
public async Task GetOrderDraftAsync(BasketData basketData)
{
- return await GrpcCallerService.CallService(_urls.GrpcOrdering, async httpClient =>
+ return await GrpcCallerService.CallService(_urls.GrpcOrdering, async channel =>
{
- var client = GrpcClient.Create(httpClient);
+ var client = new OrderingGrpc.OrderingGrpcClient(channel);
_logger.LogDebug(" grpc client created, basketData={@basketData}", basketData);
var command = MapToOrderDraftCommand(basketData);
diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
index b712ad270..77805667d 100644
--- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
+++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj
@@ -47,21 +47,21 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj b/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj
index 47c724f39..0679c99a6 100644
--- a/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj
+++ b/src/BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj
@@ -5,7 +5,7 @@
-
-
+
+
diff --git a/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj b/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj
index 842e6d937..53d0a36a2 100644
--- a/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj
+++ b/src/BuildingBlocks/EventBus/EventBus/EventBus.csproj
@@ -6,7 +6,7 @@
-
+
\ No newline at end of file
diff --git a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj
index 2e5e0fa24..a6116abec 100644
--- a/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj
+++ b/src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj
@@ -6,13 +6,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj b/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj
index bace8a713..362bccf6c 100644
--- a/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj
+++ b/src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj
@@ -6,10 +6,10 @@
-
-
-
-
+
+
+
+
diff --git a/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj b/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj
index c518e8e92..793171c78 100644
--- a/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj
+++ b/src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj
@@ -6,11 +6,14 @@
-
-
-
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
diff --git a/src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj b/src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj
index 3cf310aac..4352c2dee 100644
--- a/src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj
+++ b/src/BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj
@@ -6,14 +6,17 @@
-
+
-
-
-
-
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
diff --git a/src/NuGet.config b/src/NuGet.config
index 0a3819dd2..b9234a5b7 100644
--- a/src/NuGet.config
+++ b/src/NuGet.config
@@ -4,10 +4,9 @@
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/Services/Basket/Basket.API/Basket.API.csproj b/src/Services/Basket/Basket.API/Basket.API.csproj
index 78cd14b2a..769260d44 100644
--- a/src/Services/Basket/Basket.API/Basket.API.csproj
+++ b/src/Services/Basket/Basket.API/Basket.API.csproj
@@ -16,29 +16,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
diff --git a/src/Services/Basket/Basket.API/web.config b/src/Services/Basket/Basket.API/web.config
index dc0514fca..a2cf1fe26 100644
--- a/src/Services/Basket/Basket.API/web.config
+++ b/src/Services/Basket/Basket.API/web.config
@@ -1,14 +1,17 @@
-
-
-
+
-
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj b/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj
index 269a133f2..8d0081e18 100644
--- a/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj
+++ b/src/Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj
@@ -16,21 +16,19 @@
-
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers
-
+
-
-
diff --git a/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs b/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs
index 09ea14ff3..c5eacfa4e 100644
--- a/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs
+++ b/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs
@@ -5,7 +5,6 @@ using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
-using WebMVC.Services.ModelDTOs;
using Xunit;
namespace Basket.FunctionalTests
@@ -74,7 +73,7 @@ namespace Basket.FunctionalTests
string BuildCheckout()
{
- var checkoutBasket = new BasketDTO()
+ var checkoutBasket = new
{
City = "city",
Street = "street",
diff --git a/src/Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj b/src/Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj
index 54d753de9..019d5bdfc 100644
--- a/src/Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj
+++ b/src/Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj
@@ -10,17 +10,17 @@
-
-
-
-
-
-
+
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers
-
-
+
+
diff --git a/src/Services/Catalog/Catalog.API/Catalog.API.csproj b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
index 0b32dea4b..3d64e1181 100644
--- a/src/Services/Catalog/Catalog.API/Catalog.API.csproj
+++ b/src/Services/Catalog/Catalog.API/Catalog.API.csproj
@@ -42,30 +42,30 @@
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
diff --git a/src/Services/Catalog/Catalog.API/Infrastructure/CatalogContextSeed.cs b/src/Services/Catalog/Catalog.API/Infrastructure/CatalogContextSeed.cs
index ab88002ce..cd1ea4ab1 100644
--- a/src/Services/Catalog/Catalog.API/Infrastructure/CatalogContextSeed.cs
+++ b/src/Services/Catalog/Catalog.API/Infrastructure/CatalogContextSeed.cs
@@ -6,6 +6,7 @@
using Microsoft.Extensions.Options;
using Model;
using Polly;
+ using Polly.Retry;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
@@ -369,7 +370,7 @@
}
}
- private Policy CreatePolicy( ILogger logger, string prefix,int retries = 3)
+ private AsyncRetryPolicy CreatePolicy( ILogger logger, string prefix,int retries = 3)
{
return Policy.Handle().
WaitAndRetryAsync(
diff --git a/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj b/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj
index 9db9a3c37..22ca35532 100644
--- a/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj
+++ b/src/Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj
@@ -33,11 +33,11 @@
-
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers
diff --git a/src/Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj b/src/Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj
index e603d6106..29729d05d 100644
--- a/src/Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj
+++ b/src/Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj
@@ -9,15 +9,15 @@
-
-
-
-
+
+
+
+
all
runtime; build; native; contentfiles; analyzers
-
+
diff --git a/src/Services/Identity/Identity.API/Identity.API.csproj b/src/Services/Identity/Identity.API/Identity.API.csproj
index d18cb4b19..27eda89f5 100644
--- a/src/Services/Identity/Identity.API/Identity.API.csproj
+++ b/src/Services/Identity/Identity.API/Identity.API.csproj
@@ -16,36 +16,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+