Updated projects' NuGet packages so that it support ASP.Net core 2.1pull/702/head
@ -0,0 +1,49 @@ | |||
using Microsoft.AspNetCore.Authentication; | |||
using Microsoft.AspNetCore.Http; | |||
using System.Collections.Generic; | |||
using System.Net.Http; | |||
using System.Net.Http.Headers; | |||
using System.Threading; | |||
using System.Threading.Tasks; | |||
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Infrastructure | |||
{ | |||
public class HttpClientAuthorizationDelegatingHandler | |||
: DelegatingHandler | |||
{ | |||
private readonly IHttpContextAccessor _httpContextAccesor; | |||
public HttpClientAuthorizationDelegatingHandler(IHttpContextAccessor httpContextAccesor) | |||
{ | |||
_httpContextAccesor = httpContextAccesor; | |||
} | |||
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) | |||
{ | |||
var authorizationHeader = _httpContextAccesor.HttpContext | |||
.Request.Headers["Authorization"]; | |||
if (!string.IsNullOrEmpty(authorizationHeader)) | |||
{ | |||
request.Headers.Add("Authorization", new List<string>() { authorizationHeader }); | |||
} | |||
var token = await GetToken(); | |||
if (token != null) | |||
{ | |||
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); | |||
} | |||
return await base.SendAsync(request, cancellationToken); | |||
} | |||
async Task<string> GetToken() | |||
{ | |||
const string ACCESS_TOKEN = "access_token"; | |||
return await _httpContextAccesor.HttpContext | |||
.GetTokenAsync(ACCESS_TOKEN); | |||
} | |||
} | |||
} |
@ -1,53 +1,39 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Threading.Tasks; | |||
using Microsoft.AspNetCore.Authentication; | |||
using Microsoft.AspNetCore.Http; | |||
using Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Config; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Models; | |||
using Microsoft.Extensions.Logging; | |||
using Microsoft.Extensions.Options; | |||
using Newtonsoft.Json; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Config; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Models; | |||
using System.Net.Http; | |||
using System.Threading.Tasks; | |||
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services | |||
{ | |||
public class BasketService : IBasketService | |||
{ | |||
private readonly IHttpClient _apiClient; | |||
private readonly HttpClient _apiClient; | |||
private readonly ILogger<BasketService> _logger; | |||
private readonly UrlsConfig _urls; | |||
private readonly IHttpContextAccessor _httpContextAccessor; | |||
public BasketService(IHttpClient httpClient, IHttpContextAccessor httpContextAccessor, ILogger<BasketService> logger, IOptionsSnapshot<UrlsConfig> config) | |||
public BasketService(HttpClient httpClient,ILogger<BasketService> logger, IOptions<UrlsConfig> config) | |||
{ | |||
_apiClient = httpClient; | |||
_logger = logger; | |||
_urls = config.Value; | |||
_httpContextAccessor = httpContextAccessor; | |||
} | |||
public async Task<BasketData> GetById(string id) | |||
{ | |||
var token = await GetUserTokenAsync(); | |||
var data = await _apiClient.GetStringAsync(_urls.Basket + UrlsConfig.BasketOperations.GetItemById(id), token); | |||
var data = await _apiClient.GetStringAsync(_urls.Basket + UrlsConfig.BasketOperations.GetItemById(id)); | |||
var basket = !string.IsNullOrEmpty(data) ? JsonConvert.DeserializeObject<BasketData>(data) : null; | |||
return basket; | |||
} | |||
public async Task Update(BasketData currentBasket) | |||
{ | |||
var token = await GetUserTokenAsync(); | |||
var data = await _apiClient.PostAsync<BasketData>(_urls.Basket + UrlsConfig.BasketOperations.UpdateBasket(), currentBasket, token); | |||
int i = 0; | |||
} | |||
var basketContent = new StringContent(JsonConvert.SerializeObject(currentBasket), System.Text.Encoding.UTF8, "application/json"); | |||
async Task<string> GetUserTokenAsync() | |||
{ | |||
var context = _httpContextAccessor.HttpContext; | |||
return await context.GetTokenAsync("access_token"); | |||
var data = await _apiClient.PostAsync(_urls.Basket + UrlsConfig.BasketOperations.UpdateBasket(), basketContent); | |||
} | |||
} | |||
} |
@ -1,43 +1,42 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Threading.Tasks; | |||
using Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Config; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Models; | |||
using Microsoft.Extensions.Logging; | |||
using Microsoft.Extensions.Options; | |||
using Newtonsoft.Json; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Config; | |||
using Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Models; | |||
using System.Collections.Generic; | |||
using System.Net.Http; | |||
using System.Threading.Tasks; | |||
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Services | |||
{ | |||
public class CatalogService : ICatalogService | |||
{ | |||
private readonly IHttpClient _apiClient; | |||
private readonly HttpClient _httpClient; | |||
private readonly ILogger<CatalogService> _logger; | |||
private readonly UrlsConfig _urls; | |||
public CatalogService(IHttpClient httpClient, ILogger<CatalogService> logger, IOptionsSnapshot<UrlsConfig> config) | |||
public CatalogService(HttpClient httpClient, ILogger<CatalogService> logger, IOptions<UrlsConfig> config) | |||
{ | |||
_apiClient = httpClient; | |||
_httpClient = httpClient; | |||
_logger = logger; | |||
_urls = config.Value; | |||
} | |||
public async Task<CatalogItem> GetCatalogItem(int id) | |||
{ | |||
var data = await _apiClient.GetStringAsync(_urls.Catalog + UrlsConfig.CatalogOperations.GetItemById(id)); | |||
var item = JsonConvert.DeserializeObject<CatalogItem>(data); | |||
return item; | |||
var stringContent = await _httpClient.GetStringAsync(_urls.Catalog + UrlsConfig.CatalogOperations.GetItemById(id)); | |||
var catalogItem = JsonConvert.DeserializeObject<CatalogItem>(stringContent); | |||
return catalogItem; | |||
} | |||
public async Task<IEnumerable<CatalogItem>> GetCatalogItems(IEnumerable<int> ids) | |||
{ | |||
var data = await _apiClient.GetStringAsync(_urls.Catalog + UrlsConfig.CatalogOperations.GetItemsById(ids)); | |||
var item = JsonConvert.DeserializeObject<CatalogItem[]>(data); | |||
return item; | |||
var stringContent = await _httpClient.GetStringAsync(_urls.Catalog + UrlsConfig.CatalogOperations.GetItemsById(ids)); | |||
var catalogItems = JsonConvert.DeserializeObject<CatalogItem[]>(stringContent); | |||
return catalogItems; | |||
} | |||
} | |||
} |
@ -1,19 +1,19 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
<RootNamespace>Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus</RootNamespace> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
<RootNamespace>Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus</RootNamespace> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac" Version="4.6.2" /> | |||
<PackageReference Include="Microsoft.Azure.ServiceBus" Version="2.0.0" /> | |||
<PackageReference Include="Microsoft.CSharp" Version="4.4.1" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac" Version="4.2.1" /> | |||
<PackageReference Include="Microsoft.Azure.ServiceBus" Version="3.0.2" /> | |||
<PackageReference Include="Microsoft.CSharp" Version="4.5.0" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\EventBus\EventBus.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\EventBus\EventBus.csproj" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,19 +1,19 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Compile Include="..\common\Guard.cs" Link="Internal\Guard.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Compile Include="..\common\Guard.cs" Link="Internal\Guard.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.0.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.1" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,20 +1,20 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Compile Include="..\common\Guard.cs" Link="Internal\Guard.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Compile Include="..\common\Guard.cs" Link="Internal\Guard.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" /> | |||
<PackageReference Include="Newtonsoft.Json" Version="11.0.1" /> | |||
<PackageReference Include="System.Diagnostics.Process" Version="4.3.0" /> | |||
<PackageReference Include="System.Threading.Tasks.Parallel" Version="4.3.0" /> | |||
<PackageReference Include="System.Threading.Thread" Version="4.3.0" /> | |||
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.4.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.1" /> | |||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" /> | |||
<PackageReference Include="System.Diagnostics.Process" Version="4.3.0" /> | |||
<PackageReference Include="System.Threading.Tasks.Parallel" Version="4.3.0" /> | |||
<PackageReference Include="System.Threading.Thread" Version="4.3.0" /> | |||
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.0" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,16 +0,0 @@ | |||
using System.Net.Http; | |||
using System.Threading.Tasks; | |||
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http | |||
{ | |||
public interface IHttpClient | |||
{ | |||
Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer"); | |||
Task<HttpResponseMessage> PostAsync<T>(string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer"); | |||
Task<HttpResponseMessage> DeleteAsync(string uri, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer"); | |||
Task<HttpResponseMessage> PutAsync<T>(string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer"); | |||
} | |||
} |
@ -1,15 +0,0 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
<RootNamespace>Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http</RootNamespace> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.0.1" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" /> | |||
<PackageReference Include="Newtonsoft.Json" Version="11.0.1" /> | |||
<PackageReference Include="Polly" Version="5.8.0" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,191 +0,0 @@ | |||
using Microsoft.Extensions.Logging; | |||
using Newtonsoft.Json; | |||
using Polly; | |||
using Polly.Wrap; | |||
using System; | |||
using System.Collections.Concurrent; | |||
using System.Collections.Generic; | |||
using System.Linq; | |||
using System.Net; | |||
using System.Net.Http; | |||
using System.Net.Http.Headers; | |||
using System.Threading.Tasks; | |||
using Microsoft.AspNetCore.Http; | |||
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http | |||
{ | |||
/// <summary> | |||
/// HttpClient wrapper that integrates Retry and Circuit | |||
/// breaker policies when invoking HTTP services. | |||
/// Based on Polly library: https://github.com/App-vNext/Polly | |||
/// </summary> | |||
public class ResilientHttpClient : IHttpClient | |||
{ | |||
private readonly HttpClient _client; | |||
private readonly ILogger<ResilientHttpClient> _logger; | |||
private readonly Func<string, IEnumerable<Policy>> _policyCreator; | |||
private ConcurrentDictionary<string, PolicyWrap> _policyWrappers; | |||
private readonly IHttpContextAccessor _httpContextAccessor; | |||
public ResilientHttpClient(Func<string, IEnumerable<Policy>> policyCreator, ILogger<ResilientHttpClient> logger, IHttpContextAccessor httpContextAccessor) | |||
{ | |||
_client = new HttpClient(); | |||
_logger = logger; | |||
_policyCreator = policyCreator; | |||
_policyWrappers = new ConcurrentDictionary<string, PolicyWrap>(); | |||
_httpContextAccessor = httpContextAccessor; | |||
} | |||
public Task<HttpResponseMessage> PostAsync<T>(string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
return DoPostPutAsync(HttpMethod.Post, uri, item, authorizationToken, requestId, authorizationMethod); | |||
} | |||
public Task<HttpResponseMessage> PutAsync<T>(string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
return DoPostPutAsync(HttpMethod.Put, uri, item, authorizationToken, requestId, authorizationMethod); | |||
} | |||
public Task<HttpResponseMessage> DeleteAsync(string uri, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
var origin = GetOriginFromUri(uri); | |||
return HttpInvoker(origin, async () => | |||
{ | |||
var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri); | |||
SetAuthorizationHeader(requestMessage); | |||
if (authorizationToken != null) | |||
{ | |||
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); | |||
} | |||
if (requestId != null) | |||
{ | |||
requestMessage.Headers.Add("x-requestid", requestId); | |||
} | |||
return await _client.SendAsync(requestMessage); | |||
}); | |||
} | |||
public Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer") | |||
{ | |||
var origin = GetOriginFromUri(uri); | |||
return HttpInvoker(origin, async () => | |||
{ | |||
var requestMessage = new HttpRequestMessage(HttpMethod.Get, uri); | |||
SetAuthorizationHeader(requestMessage); | |||
if (authorizationToken != null) | |||
{ | |||
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); | |||
} | |||
var response = await _client.SendAsync(requestMessage); | |||
// raise exception if HttpResponseCode 500 | |||
// needed for circuit breaker to track fails | |||
if (response.StatusCode == HttpStatusCode.InternalServerError) | |||
{ | |||
throw new HttpRequestException(); | |||
} | |||
if (!response.IsSuccessStatusCode) | |||
{ | |||
return null; | |||
} | |||
return await response.Content.ReadAsStringAsync(); | |||
}); | |||
} | |||
private Task<HttpResponseMessage> DoPostPutAsync<T>(HttpMethod method, string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
if (method != HttpMethod.Post && method != HttpMethod.Put) | |||
{ | |||
throw new ArgumentException("Value must be either post or put.", nameof(method)); | |||
} | |||
// a new StringContent must be created for each retry | |||
// as it is disposed after each call | |||
var origin = GetOriginFromUri(uri); | |||
return HttpInvoker(origin, async () => | |||
{ | |||
var requestMessage = new HttpRequestMessage(method, uri); | |||
SetAuthorizationHeader(requestMessage); | |||
requestMessage.Content = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json"); | |||
if (authorizationToken != null) | |||
{ | |||
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); | |||
} | |||
if (requestId != null) | |||
{ | |||
requestMessage.Headers.Add("x-requestid", requestId); | |||
} | |||
var response = await _client.SendAsync(requestMessage); | |||
// raise exception if HttpResponseCode 500 | |||
// needed for circuit breaker to track fails | |||
if (response.StatusCode == HttpStatusCode.InternalServerError) | |||
{ | |||
throw new HttpRequestException(); | |||
} | |||
return response; | |||
}); | |||
} | |||
private async Task<T> HttpInvoker<T>(string origin, Func<Task<T>> action) | |||
{ | |||
var normalizedOrigin = NormalizeOrigin(origin); | |||
if (!_policyWrappers.TryGetValue(normalizedOrigin, out PolicyWrap policyWrap)) | |||
{ | |||
policyWrap = Policy.WrapAsync(_policyCreator(normalizedOrigin).ToArray()); | |||
_policyWrappers.TryAdd(normalizedOrigin, policyWrap); | |||
} | |||
// Executes the action applying all | |||
// the policies defined in the wrapper | |||
return await policyWrap.ExecuteAsync(action, new Context(normalizedOrigin)); | |||
} | |||
private static string NormalizeOrigin(string origin) | |||
{ | |||
return origin?.Trim()?.ToLower(); | |||
} | |||
private static string GetOriginFromUri(string uri) | |||
{ | |||
var url = new Uri(uri); | |||
var origin = $"{url.Scheme}://{url.DnsSafeHost}:{url.Port}"; | |||
return origin; | |||
} | |||
private void SetAuthorizationHeader(HttpRequestMessage requestMessage) | |||
{ | |||
var authorizationHeader = _httpContextAccessor.HttpContext.Request.Headers["Authorization"]; | |||
if (!string.IsNullOrEmpty(authorizationHeader)) | |||
{ | |||
requestMessage.Headers.Add("Authorization", new List<string>() { authorizationHeader }); | |||
} | |||
} | |||
} | |||
} |
@ -1,125 +0,0 @@ | |||
using Microsoft.AspNetCore.Http; | |||
using Microsoft.Extensions.Logging; | |||
using Newtonsoft.Json; | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Net; | |||
using System.Net.Http; | |||
using System.Net.Http.Headers; | |||
using System.Threading.Tasks; | |||
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http | |||
{ | |||
public class StandardHttpClient : IHttpClient | |||
{ | |||
private HttpClient _client; | |||
private ILogger<StandardHttpClient> _logger; | |||
private readonly IHttpContextAccessor _httpContextAccessor; | |||
public StandardHttpClient(ILogger<StandardHttpClient> logger, IHttpContextAccessor httpContextAccessor) | |||
{ | |||
_client = new HttpClient(); | |||
_logger = logger; | |||
_httpContextAccessor = httpContextAccessor; | |||
} | |||
public async Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer") | |||
{ | |||
var requestMessage = new HttpRequestMessage(HttpMethod.Get, uri); | |||
SetAuthorizationHeader(requestMessage); | |||
if (authorizationToken != null) | |||
{ | |||
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); | |||
} | |||
var response = await _client.SendAsync(requestMessage); | |||
if (!response.IsSuccessStatusCode) | |||
{ | |||
return null; | |||
} | |||
return await response.Content.ReadAsStringAsync(); | |||
} | |||
private async Task<HttpResponseMessage> DoPostPutAsync<T>(HttpMethod method, string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
if (method != HttpMethod.Post && method != HttpMethod.Put) | |||
{ | |||
throw new ArgumentException("Value must be either post or put.", nameof(method)); | |||
} | |||
// a new StringContent must be created for each retry | |||
// as it is disposed after each call | |||
var requestMessage = new HttpRequestMessage(method, uri); | |||
SetAuthorizationHeader(requestMessage); | |||
requestMessage.Content = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json"); | |||
if (authorizationToken != null) | |||
{ | |||
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); | |||
} | |||
if (requestId != null) | |||
{ | |||
requestMessage.Headers.Add("x-requestid", requestId); | |||
} | |||
var response = await _client.SendAsync(requestMessage); | |||
// raise exception if HttpResponseCode 500 | |||
// needed for circuit breaker to track fails | |||
if (response.StatusCode == HttpStatusCode.InternalServerError) | |||
{ | |||
throw new HttpRequestException(); | |||
} | |||
return response; | |||
} | |||
public async Task<HttpResponseMessage> PostAsync<T>(string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
return await DoPostPutAsync(HttpMethod.Post, uri, item, authorizationToken, requestId, authorizationMethod); | |||
} | |||
public async Task<HttpResponseMessage> PutAsync<T>(string uri, T item, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
return await DoPostPutAsync(HttpMethod.Put, uri, item, authorizationToken, requestId, authorizationMethod); | |||
} | |||
public async Task<HttpResponseMessage> DeleteAsync(string uri, string authorizationToken = null, string requestId = null, string authorizationMethod = "Bearer") | |||
{ | |||
var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri); | |||
SetAuthorizationHeader(requestMessage); | |||
if (authorizationToken != null) | |||
{ | |||
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); | |||
} | |||
if (requestId != null) | |||
{ | |||
requestMessage.Headers.Add("x-requestid", requestId); | |||
} | |||
return await _client.SendAsync(requestMessage); | |||
} | |||
private void SetAuthorizationHeader(HttpRequestMessage requestMessage) | |||
{ | |||
var authorizationHeader = _httpContextAccessor.HttpContext.Request.Headers["Authorization"]; | |||
if (!string.IsNullOrEmpty(authorizationHeader)) | |||
{ | |||
requestMessage.Headers.Add("Authorization", new List<string>() { authorizationHeader }); | |||
} | |||
} | |||
} | |||
} | |||
@ -1,12 +1,12 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.0</TargetFramework> | |||
<TargetFramework>netcoreapp2.1</TargetFramework> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Polly" Version="5.8.0" /> | |||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" /> | |||
<PackageReference Include="Polly" Version="6.0.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,33 +1,35 @@ | |||
<Project Sdk="Microsoft.NET.Sdk.Web"> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.0</TargetFramework> | |||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.1</TargetFramework> | |||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Content Update="web.config"> | |||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |||
</Content> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Content Update="web.config"> | |||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |||
</Content> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.5.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta6" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.0.1-beta1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" /> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" /> | |||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.2.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.2" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.0" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.App" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" /> | |||
<PackageReference Include="StackExchange.Redis.StrongName" Version="1.2.6" /> | |||
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBus\EventBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBus\EventBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,62 +1,59 @@ | |||
<Project Sdk="Microsoft.NET.Sdk.Web"> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.0</TargetFramework> | |||
<RuntimeFrameworkVersion>2.0.0</RuntimeFrameworkVersion> | |||
<UserSecretsId>aspnet-eShopOnContainers.Identity-90487118-103c-4ff0-b9da-e5e26f7ab0c5</UserSecretsId> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Content Include="Setup\**\*;"> | |||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |||
</Content> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.5.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta6" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.0.1-beta1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" /> | |||
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.1.0" /> | |||
<PackageReference Include="IdentityServer4.EntityFramework" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Redis" Version="0.3.1" /> | |||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.2.0" /> | |||
</ItemGroup> | |||
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish"> | |||
<Exec Command="bower install --allow-root" /> | |||
<Exec Command="dotnet bundle" Condition="'$(ASPNETCORE_ENVIRONMENT)'!='Development'" /> | |||
</Target> | |||
<ItemGroup> | |||
<DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.5.357" /> | |||
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> | |||
<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" /> | |||
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<EmbeddedResource Include="Certificate\idsrv3test.pfx" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.SqlServer\Microsoft.Extensions.HealthChecks.SqlServer.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\WebHostCustomization\WebHost.Customization\WebHost.Customization.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Update="Setup\*"> | |||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||
</None> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Extensions\" /> | |||
</ItemGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.1</TargetFramework> | |||
<UserSecretsId>aspnet-eShopOnContainers.Identity-90487118-103c-4ff0-b9da-e5e26f7ab0c5</UserSecretsId> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Content Include="Setup\**\*;"> | |||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |||
</Content> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.2" /> | |||
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.1.0" /> | |||
<PackageReference Include="IdentityServer4.EntityFramework" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.0" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.App" /> | |||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Redis" Version="0.3.3" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" /> | |||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.4.0" /> | |||
</ItemGroup> | |||
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish"> | |||
<Exec Command="bower install --allow-root" /> | |||
<Exec Command="dotnet bundle" Condition="'$(ASPNETCORE_ENVIRONMENT)'!='Development'" /> | |||
</Target> | |||
<ItemGroup> | |||
<DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.7.385" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<EmbeddedResource Include="Certificate\idsrv3test.pfx" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.SqlServer\Microsoft.Extensions.HealthChecks.SqlServer.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\WebHostCustomization\WebHost.Customization\WebHost.Customization.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Update="Setup\*"> | |||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||
</None> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Extensions\" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,56 +1,54 @@ | |||
<Project Sdk="Microsoft.NET.Sdk.Web"> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.0</TargetFramework> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
<RootNamespace>Microsoft.eShopOnContainers.Services.Marketing.API</RootNamespace> | |||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> | |||
<UserSecretsId>aspnet-Marketing.API-20161122013619</UserSecretsId> | |||
<AssemblyName /> | |||
<ApplicationInsightsResourceId>/subscriptions/6c22bb55-0221-4ce4-9bf1-3c4a10a7294c/resourcegroups/eshop-log/providers/microsoft.insights/components/eshopappinsights</ApplicationInsightsResourceId> | |||
<ApplicationInsightsAnnotationResourceId>/subscriptions/6c22bb55-0221-4ce4-9bf1-3c4a10a7294c/resourcegroups/eshop-log/providers/microsoft.insights/components/eshopappinsights</ApplicationInsightsAnnotationResourceId> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.1</TargetFramework> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
<RootNamespace>Microsoft.eShopOnContainers.Services.Marketing.API</RootNamespace> | |||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> | |||
<UserSecretsId>aspnet-Marketing.API-20161122013619</UserSecretsId> | |||
<AssemblyName /> | |||
<ApplicationInsightsResourceId>/subscriptions/6c22bb55-0221-4ce4-9bf1-3c4a10a7294c/resourcegroups/eshop-log/providers/microsoft.insights/components/eshopappinsights</ApplicationInsightsResourceId> | |||
<ApplicationInsightsAnnotationResourceId>/subscriptions/6c22bb55-0221-4ce4-9bf1-3c4a10a7294c/resourcegroups/eshop-log/providers/microsoft.insights/components/eshopappinsights</ApplicationInsightsAnnotationResourceId> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Folder Include="Connected Services\" /> | |||
<Folder Include="Infrastructure\MarketingMigrations\" /> | |||
<Content Include="Pics\**\*;"> | |||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |||
</Content> | |||
<Folder Include="Infrastructure\MarketingMigrations\" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.5.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta6" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.0.1-beta1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" /> | |||
<PackageReference Include="mongocsharpdriver" Version="2.5.0" /> | |||
<PackageReference Include="MongoDB.Bson" Version="2.5.0" /> | |||
<PackageReference Include="MongoDB.Driver" Version="2.5.0" /> | |||
<PackageReference Include="MongoDB.Driver.Core" Version="2.5.0" /> | |||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.2.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.AzureStorage\Microsoft.Extensions.HealthChecks.AzureStorage.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\WebHostCustomization\WebHost.Customization\WebHost.Customization.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Connected Services\" /> | |||
<Folder Include="Infrastructure\MarketingMigrations\" /> | |||
<Content Include="Pics\**\*;"> | |||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |||
</Content> | |||
<Folder Include="Infrastructure\MarketingMigrations\" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.2" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.0" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.App" /> | |||
<PackageReference Include="mongocsharpdriver" Version="2.5.0" /> | |||
<PackageReference Include="MongoDB.Bson" Version="2.5.0" /> | |||
<PackageReference Include="MongoDB.Driver" Version="2.5.0" /> | |||
<PackageReference Include="MongoDB.Driver.Core" Version="2.5.0" /> | |||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.4.0" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.AzureStorage\Microsoft.Extensions.HealthChecks.AzureStorage.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\WebHostCustomization\WebHost.Customization\WebHost.Customization.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Update="Pics\*"> | |||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||
</None> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Update="Pics\*"> | |||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||
</None> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<WCFMetadata Include="Connected Services" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<WCFMetadata Include="Connected Services" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,26 +1,31 @@ | |||
<Project Sdk="Microsoft.NET.Sdk.Web"> | |||
<Project Sdk="Microsoft.NET.Sdk.Web"> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.0</TargetFramework> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.1</TargetFramework> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<Folder Include="wwwroot\" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="wwwroot\" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" /> | |||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.0-preview2-final" /> | |||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Core" Version="1.0.0-preview2-final" /> | |||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Redis" Version="1.0.0-preview2-final" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.2" /> | |||
<PackageReference Include="Microsoft.AspNetCore.App" /> | |||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.2" /> | |||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Core" Version="1.0.2" /> | |||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Redis" Version="1.0.2" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.0" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBus\EventBus.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBus\EventBus.csproj" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,30 +1,28 @@ | |||
<Project Sdk="Microsoft.NET.Sdk.Web"> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.0</TargetFramework> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> | |||
</PropertyGroup> | |||
<PropertyGroup> | |||
<TargetFramework>netcoreapp2.1</TargetFramework> | |||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath> | |||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.5.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta6" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.0.1-beta1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBus\EventBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\IntegrationEventLogEF\IntegrationEventLogEF.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.SqlServer\Microsoft.Extensions.HealthChecks.SqlServer.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.2" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.0" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.1" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" /> | |||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" /> | |||
<PackageReference Include="Microsoft.AspNetCore.App" /> | |||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusServiceBus\EventBusServiceBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBus\EventBus.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\IntegrationEventLogEF\IntegrationEventLogEF.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.SqlServer\Microsoft.Extensions.HealthChecks.SqlServer.csproj" /> | |||
<ProjectReference Include="..\..\..\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks\Microsoft.Extensions.HealthChecks.csproj" /> | |||
</ItemGroup> | |||
</Project> |
@ -1,10 +1,10 @@ | |||
{ | |||
"name": "asp.net", | |||
"private": true, | |||
"dependencies": { | |||
"bootstrap": "v3.3.7", | |||
"jquery": "2.2.0", | |||
"jquery-validation": "1.14.0", | |||
"jquery-validation-unobtrusive": "3.2.6" | |||
} | |||
"dependencies": { | |||
"bootstrap": "v3.3.7", | |||
"jquery": "2.2.0", | |||
"jquery-validation": "1.14.0", | |||
"jquery-validation-unobtrusive": "3.2.6" | |||
}, | |||
"name": "asp.net", | |||
"private": true | |||
} |