Merge pull request #2 from sicsbd/dev-asp.netcore2.1enhancements
Update to ASP.NET Core 2.1.3
This commit is contained in:
commit
9d9d85efa4
BIN
Certificates/DotNet Foundation CA.pfx
Normal file
BIN
Certificates/DotNet Foundation CA.pfx
Normal file
Binary file not shown.
BIN
Certificates/eShopOnContainers.pfx
Normal file
BIN
Certificates/eShopOnContainers.pfx
Normal file
Binary file not shown.
@ -3,7 +3,7 @@
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>fea0c318-ffed-4d39-8781-265718ca43dd</ProjectGuid>
|
||||
<DockerLaunchBrowser>True</DockerLaunchBrowser>
|
||||
<DockerServiceUrl>http://localhost:5100</DockerServiceUrl>
|
||||
<DockerServiceUrl>https://localhost:4100</DockerServiceUrl>
|
||||
<DockerServiceName>webmvc</DockerServiceName>
|
||||
<DockerTargetOS>Linux</DockerTargetOS>
|
||||
<ProjectVersion>2.1</ProjectVersion>
|
||||
|
@ -30,11 +30,11 @@ services:
|
||||
identity.api:
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Development
|
||||
- ASPNETCORE_URLS=http://0.0.0.0:80
|
||||
- SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104
|
||||
- ASPNETCORE_URLS=http://0.0.0.0:80;https://+:443
|
||||
- SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104;https://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:4104
|
||||
- XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback #localhost do not work for UWP login, so we have to use "external" IP always
|
||||
- ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
|
||||
- MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100 #Local: You need to open your local dev-machine firewall at range 5100-5110.
|
||||
- MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100;https://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:4100 #Local: You need to open your local dev-machine firewall at range 5100-5110.
|
||||
- LocationApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5109
|
||||
- MarketingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5110
|
||||
- BasketApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5103
|
||||
@ -46,6 +46,10 @@ services:
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
ports:
|
||||
- "5105:80"
|
||||
- "4105:443"
|
||||
volumes:
|
||||
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:rw
|
||||
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:rw
|
||||
|
||||
basket.api:
|
||||
environment:
|
||||
@ -277,7 +281,7 @@ services:
|
||||
webspa:
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Development
|
||||
- ASPNETCORE_URLS=http://0.0.0.0:80
|
||||
- ASPNETCORE_URLS=http://+:80;https://+:443
|
||||
- IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105 #Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105.
|
||||
- PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
|
||||
- MarketingUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5203
|
||||
@ -293,11 +297,15 @@ services:
|
||||
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
|
||||
ports:
|
||||
- "5104:80"
|
||||
- "4104:443"
|
||||
volumes:
|
||||
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:rw
|
||||
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:rw
|
||||
|
||||
webmvc:
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Development
|
||||
- ASPNETCORE_URLS=http://0.0.0.0:80
|
||||
- ASPNETCORE_URLS=http://+:80;https://+:443
|
||||
- PurchaseUrl=http://webshoppingapigw
|
||||
- IdentityUrl=http://10.0.75.1:5105 # Local Mac: Use http://docker.for.mac.localhost:5105 || Local Windows: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser. || #Remote access: Use ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser.
|
||||
- MarketingUrl=http://webmarketingapigw
|
||||
@ -314,4 +322,7 @@ services:
|
||||
- UseLoadTest=${USE_LOADTEST:-False}
|
||||
ports:
|
||||
- "5100:80"
|
||||
|
||||
- "4100:443"
|
||||
volumes:
|
||||
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:rw
|
||||
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:rw
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY src/ApiGateways/ApiGw-Base/OcelotApiGw.csproj src/ApiGateways/ApiGw-Base/
|
||||
RUN dotnet restore src/ApiGateways/ApiGw-Base/
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -9,7 +10,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Ocelot" Version="3.0.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -13,7 +13,8 @@
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"OcelotApiGw": {
|
||||
"commandName": "Project",
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<AssemblyName>Mobile.Shopping.HttpAggregator</AssemblyName>
|
||||
<RootNamespace>Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator</RootNamespace>
|
||||
<DockerComposeProjectPath>..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
@ -12,9 +13,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="1.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "api/values",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"PurchaseForMvc": {
|
||||
"commandName": "Project",
|
||||
|
@ -31,15 +31,20 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator
|
||||
// This method gets called by the runtime. Use this method to add services to the container.
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddCustomMvc(Configuration)
|
||||
services
|
||||
.AddCustomMvc(Configuration)
|
||||
.AddCustomAuthentication(Configuration)
|
||||
.AddHttpServices();
|
||||
//services.AddHttpsRedirection(opts =>
|
||||
//{
|
||||
// opts.HttpsPort = 4120;
|
||||
//});
|
||||
}
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
|
||||
{
|
||||
var pathBase = Configuration["PATH_BASE"];
|
||||
string pathBase = Configuration["PATH_BASE"];
|
||||
|
||||
if (!string.IsNullOrEmpty(pathBase))
|
||||
{
|
||||
@ -73,7 +78,10 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator
|
||||
services.AddOptions();
|
||||
services.Configure<UrlsConfig>(configuration.GetSection("urls"));
|
||||
|
||||
services.AddMvc();
|
||||
services
|
||||
.AddMvc()
|
||||
.SetCompatibilityVersion(AspNetCore.Mvc.CompatibilityVersion.Version_2_1)
|
||||
;
|
||||
|
||||
services.AddSwaggerGen(options =>
|
||||
{
|
||||
@ -128,13 +136,15 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator
|
||||
options.Audience = "mobileshoppingagg";
|
||||
options.Events = new JwtBearerEvents()
|
||||
{
|
||||
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
OnAuthenticationFailed = async ctx =>
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
{
|
||||
int i = 0;
|
||||
},
|
||||
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
OnTokenValidated = async ctx =>
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
{
|
||||
int i = 0;
|
||||
}
|
||||
};
|
||||
});
|
||||
|
@ -11,5 +11,13 @@
|
||||
"Default": "Warning"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Kestrel": {
|
||||
"Certificates": {
|
||||
"Default": {
|
||||
"Path": "./synergydev.pfx",
|
||||
"Password": "RH@ssl2018"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/ApiGateways/Web.Bff.Shopping/aggregator
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "api/values",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"PurchaseForMvc": {
|
||||
"commandName": "Project",
|
||||
|
@ -11,7 +11,6 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Polly;
|
||||
using Polly.Extensions.Http;
|
||||
using Polly.Timeout;
|
||||
using Swashbuckle.AspNetCore.Swagger;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -32,7 +31,8 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
|
||||
// This method gets called by the runtime. Use this method to add services to the container.
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddCustomMvc(Configuration)
|
||||
services
|
||||
.AddCustomMvc(Configuration)
|
||||
.AddCustomAuthentication(Configuration)
|
||||
.AddApplicationServices();
|
||||
}
|
||||
@ -53,7 +53,6 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
|
||||
app.UseAuthentication();
|
||||
|
||||
app.UseMvc();
|
||||
@ -73,26 +72,29 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
|
||||
public static IServiceCollection AddCustomAuthentication(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
|
||||
var identityUrl = configuration.GetValue<string>("urls:identity");
|
||||
string identityUrl = configuration.GetValue<string>("urls:identity");
|
||||
services.AddAuthentication(options =>
|
||||
{
|
||||
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
|
||||
|
||||
}).AddJwtBearer(options =>
|
||||
})
|
||||
.AddJwtBearer(options =>
|
||||
{
|
||||
options.Authority = identityUrl;
|
||||
options.RequireHttpsMetadata = false;
|
||||
options.Audience = "webshoppingagg";
|
||||
options.Events = new JwtBearerEvents()
|
||||
{
|
||||
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
OnAuthenticationFailed = async ctx =>
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
{
|
||||
int i = 0;
|
||||
},
|
||||
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
OnTokenValidated = async ctx =>
|
||||
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
|
||||
{
|
||||
int i = 0;
|
||||
}
|
||||
};
|
||||
});
|
||||
@ -104,12 +106,15 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
|
||||
services.AddOptions();
|
||||
services.Configure<UrlsConfig>(configuration.GetSection("urls"));
|
||||
|
||||
services.AddMvc();
|
||||
services
|
||||
.AddMvc()
|
||||
.SetCompatibilityVersion(AspNetCore.Mvc.CompatibilityVersion.Version_2_1)
|
||||
;
|
||||
|
||||
services.AddSwaggerGen(options =>
|
||||
{
|
||||
options.DescribeAllEnumsAsStrings();
|
||||
options.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info
|
||||
options.SwaggerDoc("v1", new Info
|
||||
{
|
||||
Title = "Shopping Aggregator for Web Clients",
|
||||
Version = "v1",
|
||||
@ -134,8 +139,12 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
|
||||
|
||||
services.AddCors(options =>
|
||||
{
|
||||
options.AddPolicy("CorsPolicy",
|
||||
builder => builder.AllowAnyOrigin()
|
||||
options
|
||||
.AddPolicy(
|
||||
"CorsPolicy",
|
||||
builder =>
|
||||
builder
|
||||
.AllowAnyOrigin()
|
||||
.AllowAnyMethod()
|
||||
.AllowAnyHeader()
|
||||
.AllowCredentials());
|
||||
@ -147,7 +156,7 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator
|
||||
{
|
||||
//register delegating handlers
|
||||
services.AddTransient<HttpClientAuthorizationDelegatingHandler>();
|
||||
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
|
||||
services.AddHttpContextAccessor();
|
||||
|
||||
//register http services
|
||||
|
||||
|
@ -2,9 +2,11 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<AssemblyName>Web.Shopping.HttpAggregator</AssemblyName>
|
||||
<RootNamespace>Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator</RootNamespace>
|
||||
<DockerComposeProjectPath>..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
<UserSecretsId>0890cb23-79b5-408d-9aeb-13e6ff218d71</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -12,10 +14,10 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.4.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUi" Version="2.4.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -6,10 +6,10 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.2" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@ -13,7 +13,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
@ -16,11 +16,11 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.1" />
|
||||
<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" />
|
||||
<PackageReference Include="WindowsAzure.Storage" Version="9.1.0" />
|
||||
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.1" />
|
||||
<PackageReference Include="WindowsAzure.Storage" Version="9.3.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -9,12 +9,12 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.0" />
|
||||
<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" />
|
||||
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Polly" Version="6.0.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
@ -13,14 +14,14 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="StackExchange.Redis.StrongName" Version="1.2.4" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.4.0" />
|
||||
</ItemGroup>
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Basket/Basket.API
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Microsoft.eShopOnContainers.Services.Basket.API": {
|
||||
"commandName": "Project",
|
||||
|
@ -54,8 +54,10 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
|
||||
{
|
||||
options.Filters.Add(typeof(HttpGlobalExceptionFilter));
|
||||
options.Filters.Add(typeof(ValidateModelStateFilter));
|
||||
|
||||
}).AddControllersAsServices();
|
||||
})
|
||||
.AddControllersAsServices()
|
||||
.SetCompatibilityVersion(AspNetCore.Mvc.CompatibilityVersion.Version_2_1)
|
||||
;
|
||||
|
||||
ConfigureAuthService(services);
|
||||
|
||||
@ -74,7 +76,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
|
||||
//and then creating the connection it seems reasonable to move
|
||||
//that cost to startup instead of having the first request pay the
|
||||
//penalty.
|
||||
services.AddSingleton<ConnectionMultiplexer>(sp =>
|
||||
services.AddSingleton(sp =>
|
||||
{
|
||||
var settings = sp.GetRequiredService<IOptions<BasketSettings>>().Value;
|
||||
var configuration = ConfigurationOptions.Parse(settings.ConnectionString, true);
|
||||
|
@ -7,7 +7,7 @@
|
||||
"Microsoft": "Information"
|
||||
}
|
||||
},
|
||||
"IdentityUrl": "http://localhost:5105",
|
||||
"IdentityUrl": "https://localhost:4105",
|
||||
"ConnectionString": "127.0.0.1",
|
||||
"AzureServiceBusEnabled": false,
|
||||
"SubscriptionClientName": "Basket",
|
||||
|
@ -35,13 +35,13 @@
|
||||
|
||||
<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.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<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-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.4.0" />
|
||||
<PackageReference Include="System.IO.Compression.ZipFile" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Catalog/Catalog.API
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "/swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Microsoft.eShopOnContainers.Services.Catalog.API": {
|
||||
"commandName": "Project",
|
||||
|
@ -124,7 +124,7 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API
|
||||
services.AddHealthChecks(checks =>
|
||||
{
|
||||
var minutes = 1;
|
||||
if (int.TryParse(configuration["HealthCheck:Timeout"], out var minutesParsed))
|
||||
if (int.TryParse(configuration["HealthCheck:Timeout"], out int minutesParsed))
|
||||
{
|
||||
minutes = minutesParsed;
|
||||
}
|
||||
@ -141,7 +141,10 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API
|
||||
services.AddMvc(options =>
|
||||
{
|
||||
options.Filters.Add(typeof(HttpGlobalExceptionFilter));
|
||||
}).AddControllersAsServices();
|
||||
})
|
||||
.AddControllersAsServices()
|
||||
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
|
||||
;
|
||||
|
||||
services.AddCors(options =>
|
||||
{
|
||||
|
@ -1,9 +1,10 @@
|
||||
ARG NODE_IMAGE=node:8.11
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk as dotnet-build
|
||||
FROM microsoft/dotnet:2.1.401-sdk as dotnet-build
|
||||
WORKDIR /src
|
||||
|
||||
FROM ${NODE_IMAGE} as node-build
|
||||
@ -16,6 +17,7 @@ FROM dotnet-build as build
|
||||
WORKDIR /src/src/Services/Identity/Identity.API/wwwroot
|
||||
COPY --from=node-build /web/wwwroot .
|
||||
WORKDIR /src
|
||||
COPY src/Services/Identity/Identity.API/Setup/eShopOnContainers.pfx /root/.aspnet/https/
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Identity/Identity.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<UserSecretsId>aspnet-eShopOnContainers.Identity-90487118-103c-4ff0-b9da-e5e26f7ab0c5</UserSecretsId>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
@ -12,15 +13,20 @@
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Setup\DotNet Foundation CA.pfx" />
|
||||
<None Remove="Setup\eShopOnContainers.pfx" />
|
||||
</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.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<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-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<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.3" />
|
||||
|
@ -3,8 +3,8 @@
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:54010/",
|
||||
"sslPort": 0
|
||||
"applicationUrl": "http://localhost:5105/",
|
||||
"sslPort": 4105
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
@ -14,7 +14,8 @@
|
||||
"launchUrl": "http://localhost:55105",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"eShopOnContainers.Identity": {
|
||||
"commandName": "Project",
|
||||
|
Binary file not shown.
BIN
src/Services/Identity/Identity.API/Setup/eShopOnContainers.pfx
Normal file
BIN
src/Services/Identity/Identity.API/Setup/eShopOnContainers.pfx
Normal file
Binary file not shown.
@ -52,7 +52,14 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
|
||||
|
||||
services.Configure<AppSettings>(Configuration);
|
||||
|
||||
services.AddMvc();
|
||||
services
|
||||
.AddMvc(opts=>
|
||||
{
|
||||
opts.SslPort = 4105;
|
||||
opts.RequireHttpsPermanent = true;
|
||||
})
|
||||
.SetCompatibilityVersion(AspNetCore.Mvc.CompatibilityVersion.Version_2_1)
|
||||
;
|
||||
|
||||
if (Configuration.GetValue<string>("IsClusterEnv") == bool.TrueString)
|
||||
{
|
||||
@ -65,8 +72,8 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
|
||||
|
||||
services.AddHealthChecks(checks =>
|
||||
{
|
||||
var minutes = 1;
|
||||
if (int.TryParse(Configuration["HealthCheck:Timeout"], out var minutesParsed))
|
||||
int minutes = 1;
|
||||
if (int.TryParse(Configuration["HealthCheck:Timeout"], out int minutesParsed))
|
||||
{
|
||||
minutes = minutesParsed;
|
||||
}
|
||||
@ -76,8 +83,8 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
|
||||
services.AddTransient<ILoginService<ApplicationUser>, EFLoginService>();
|
||||
services.AddTransient<IRedirectService, RedirectService>();
|
||||
|
||||
var connectionString = Configuration["ConnectionString"];
|
||||
var migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;
|
||||
string connectionString = Configuration["ConnectionString"];
|
||||
string migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;
|
||||
|
||||
// Adds IdentityServer
|
||||
services.AddIdentityServer(x => x.IssuerUri = "null")
|
||||
@ -105,7 +112,12 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
|
||||
})
|
||||
.Services.AddTransient<IProfileService, ProfileService>();
|
||||
|
||||
var container = new ContainerBuilder();
|
||||
services.AddHttpsRedirection(opts =>
|
||||
{
|
||||
opts.HttpsPort = 4105;
|
||||
});
|
||||
|
||||
ContainerBuilder container = new ContainerBuilder();
|
||||
container.Populate(services);
|
||||
|
||||
return new AutofacServiceProvider(container.Build());
|
||||
@ -127,9 +139,11 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
|
||||
else
|
||||
{
|
||||
app.UseExceptionHandler("/Home/Error");
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
var pathBase = Configuration["PATH_BASE"];
|
||||
app.UseHttpsRedirection();
|
||||
string pathBase = Configuration["PATH_BASE"];
|
||||
if (!string.IsNullOrEmpty(pathBase))
|
||||
{
|
||||
loggerFactory.CreateLogger("init").LogDebug($"Using PATH BASE '{pathBase}'");
|
||||
@ -166,7 +180,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
|
||||
private void RegisterAppInsights(IServiceCollection services)
|
||||
{
|
||||
services.AddApplicationInsightsTelemetry(Configuration);
|
||||
var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
|
||||
string orchestratorType = Configuration.GetValue<string>("OrchestratorType");
|
||||
|
||||
if (orchestratorType?.ToUpper() == "K8S")
|
||||
{
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"ConnectionString": "Server=tcp:127.0.0.1,5433;Database=Microsoft.eShopOnContainers.Services.IdentityDb;User Id=sa;Password=Pass@word;",
|
||||
"IsClusterEnv": "False",
|
||||
"MvcClient": "http://localhost:5100",
|
||||
"SpaClient": "http://localhost:5104",
|
||||
"XamarinCallback": "http://localhost:5105/xamarincallback",
|
||||
"MvcClient": "https://localhost:4100",
|
||||
"SpaClient": "https://localhost:4104",
|
||||
"XamarinCallback": "https://localhost:4105/xamarincallback",
|
||||
"UseCustomizationData": false,
|
||||
"Logging": {
|
||||
"IncludeScopes": false,
|
||||
@ -21,5 +21,13 @@
|
||||
"Name": "eshop",
|
||||
"ClientId": "your-clien-id",
|
||||
"ClientSecret": "your-client-secret"
|
||||
},
|
||||
"Kestrel": {
|
||||
"Certificates": {
|
||||
"Default": {
|
||||
"Path": "./Setup/eshopOnContainers.pfx",
|
||||
"Password": "D0tNet@"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Location/Locations.API
|
||||
|
@ -2,18 +2,19 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
<UserSecretsId>aspnet-Locations.API-20161122013619</UserSecretsId>
|
||||
</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.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="mongocsharpdriver" Version="2.5.0" />
|
||||
<PackageReference Include="MongoDB.Bson" Version="2.5.0" />
|
||||
<PackageReference Include="MongoDB.Driver" Version="2.5.0" />
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "api/values",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Locations.API": {
|
||||
"commandName": "Project",
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Marketing/Marketing.API
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
<RootNamespace>Microsoft.eShopOnContainers.Services.Marketing.API</RootNamespace>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
|
||||
@ -21,13 +22,13 @@
|
||||
</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.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="mongocsharpdriver" Version="2.5.0" />
|
||||
<PackageReference Include="MongoDB.Bson" Version="2.5.0" />
|
||||
<PackageReference Include="MongoDB.Driver" Version="2.5.0" />
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Marketing.API": {
|
||||
"commandName": "Project",
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.API
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<UserSecretsId>aspnet-Ordering.API-20161122013547</UserSecretsId>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
@ -30,22 +31,22 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation.AspNetCore" Version="7.5.0" />
|
||||
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="4.1.0" />
|
||||
<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.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Dapper" Version="1.50.4" />
|
||||
<PackageReference Include="FluentValidation.AspNetCore" Version="7.5.0" />
|
||||
<PackageReference Include="MediatR" Version="4.1.0" />
|
||||
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="4.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Polly" Version="6.0.1" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="2.4.0" />
|
||||
<PackageReference Include="System.Reflection" Version="4.3.0" />
|
||||
<PackageReference Include="Dapper" Version="1.50.4" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||
<PackageReference Include="Polly" Version="6.0.1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="Setup\*">
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "/swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Microsoft.eShopOnContainers.Services.Ordering.API": {
|
||||
"commandName": "Project",
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
@ -16,7 +17,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" />
|
||||
<PackageReference Include="Dapper" Version="1.50.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "api/values",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Ordering.BackgroundTasks": {
|
||||
"commandName": "Project",
|
||||
|
@ -9,9 +9,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<DockerComposeProjectPath>..\..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -11,15 +12,15 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Core" Version="1.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Redis" Version="1.0.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.0.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Core" Version="1.0.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Redis" Version="1.0.3" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -13,7 +13,8 @@
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Ordering.SignalrHub": {
|
||||
"commandName": "Project",
|
||||
|
@ -1,8 +1,8 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Payment/Payment.API
|
||||
|
@ -2,18 +2,19 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<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.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" />
|
||||
|
@ -14,7 +14,8 @@
|
||||
"launchUrl": "api/values",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Payment.API": {
|
||||
"commandName": "Project",
|
||||
|
13
src/Web/WebMVC/Controllers/HomeController.cs
Normal file
13
src/Web/WebMVC/Controllers/HomeController.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace WebMVC.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
public IActionResult Privacy()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,9 +1,10 @@
|
||||
ARG NODE_IMAGE=node:8.11
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk as dotnet-build
|
||||
FROM microsoft/dotnet:2.1.401-sdk as dotnet-build
|
||||
WORKDIR /src
|
||||
|
||||
FROM ${NODE_IMAGE} as node-build
|
||||
@ -16,6 +17,7 @@ FROM dotnet-build as build
|
||||
WORKDIR /src/src/Web/WebMVC/wwwroot
|
||||
COPY --from=node-build /web/wwwroot .
|
||||
WORKDIR /src
|
||||
COPY Certificates/eShopOnContainers.pfx /root/.aspnet/https/
|
||||
COPY . .
|
||||
WORKDIR /src/src/Web/WebMVC
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
|
@ -4,7 +4,7 @@
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:5100",
|
||||
"sslPort": 0
|
||||
"sslPort": 4100
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
@ -12,15 +12,16 @@
|
||||
"commandName": "IISExpress",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"Microsoft.eShopOnContainers.WebMVC": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "http://localhost:5000",
|
||||
"launchUrl": "http://localhost:4001",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"applicationUrl": "https://localhost:4001;http://localhost:5001"
|
||||
}
|
||||
}
|
||||
}
|
@ -45,9 +45,10 @@ namespace Microsoft.eShopOnContainers.WebMVC.Services
|
||||
|
||||
var responseString = await _httpClient.GetStringAsync(uri);
|
||||
|
||||
var items = new List<SelectListItem>();
|
||||
|
||||
items.Add(new SelectListItem() { Value = null, Text = "All", Selected = true });
|
||||
var items = new List<SelectListItem>
|
||||
{
|
||||
new SelectListItem() { Value = null, Text = "All", Selected = true }
|
||||
};
|
||||
|
||||
var brands = JArray.Parse(responseString);
|
||||
|
||||
|
@ -36,12 +36,22 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
// This method gets called by the runtime. Use this method to add services to the IoC container.
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddAppInsight(Configuration)
|
||||
services.Configure<CookiePolicyOptions>(opts =>
|
||||
{
|
||||
opts.MinimumSameSitePolicy = SameSiteMode.None;
|
||||
opts.CheckConsentNeeded = context => true;
|
||||
});
|
||||
services
|
||||
.AddAppInsight(Configuration)
|
||||
.AddHealthChecks(Configuration)
|
||||
.AddCustomMvc(Configuration)
|
||||
.AddHttpClientServices(Configuration)
|
||||
//.AddHttpClientLogging(Configuration) //Opt-in HttpClientLogging config
|
||||
.AddCustomAuthentication(Configuration);
|
||||
services.AddHttpsRedirection(options =>
|
||||
{
|
||||
options.HttpsPort = 4100;
|
||||
});
|
||||
}
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
@ -59,9 +69,13 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
else
|
||||
{
|
||||
app.UseExceptionHandler("/Error");
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
var pathBase = Configuration["PATH_BASE"];
|
||||
app.UseHttpsRedirection();
|
||||
app.UseCookiePolicy();
|
||||
|
||||
string pathBase = Configuration["PATH_BASE"];
|
||||
if (!string.IsNullOrEmpty(pathBase))
|
||||
{
|
||||
loggerFactory.CreateLogger("init").LogDebug($"Using PATH BASE '{pathBase}'");
|
||||
@ -83,7 +97,7 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
|
||||
app.UseAuthentication();
|
||||
|
||||
var log = loggerFactory.CreateLogger("identity");
|
||||
ILogger log = loggerFactory.CreateLogger("identity");
|
||||
|
||||
WebContextSeed.Seed(app, env, loggerFactory);
|
||||
|
||||
@ -106,7 +120,7 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
public static IServiceCollection AddAppInsight(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
services.AddApplicationInsightsTelemetry(configuration);
|
||||
var orchestratorType = configuration.GetValue<string>("OrchestratorType");
|
||||
string orchestratorType = configuration.GetValue<string>("OrchestratorType");
|
||||
|
||||
if (orchestratorType?.ToUpper() == "K8S")
|
||||
{
|
||||
@ -128,8 +142,8 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
{
|
||||
services.AddHealthChecks(checks =>
|
||||
{
|
||||
var minutes = 1;
|
||||
if (int.TryParse(configuration["HealthCheck:Timeout"], out var minutesParsed))
|
||||
int minutes = 1;
|
||||
if (int.TryParse(configuration["HealthCheck:Timeout"], out int minutesParsed))
|
||||
{
|
||||
minutes = minutesParsed;
|
||||
}
|
||||
@ -149,7 +163,13 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
services.AddOptions();
|
||||
services.Configure<AppSettings>(configuration);
|
||||
|
||||
services.AddMvc();
|
||||
services
|
||||
.AddMvc(opts =>
|
||||
{
|
||||
opts.SslPort = 4100;
|
||||
opts.RequireHttpsPermanent = true;
|
||||
})
|
||||
.SetCompatibilityVersion(AspNetCore.Mvc.CompatibilityVersion.Version_2_1);
|
||||
|
||||
services.AddSession();
|
||||
|
||||
@ -227,9 +247,9 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
|
||||
public static IServiceCollection AddCustomAuthentication(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
var useLoadTest = configuration.GetValue<bool>("UseLoadTest");
|
||||
var identityUrl = configuration.GetValue<string>("IdentityUrl");
|
||||
var callBackUrl = configuration.GetValue<string>("CallBackUrl");
|
||||
bool useLoadTest = configuration.GetValue<bool>("UseLoadTest");
|
||||
string identityUrl = configuration.GetValue<string>("IdentityUrl");
|
||||
string callBackUrl = configuration.GetValue<string>("CallBackUrl");
|
||||
|
||||
// Add Authentication services
|
||||
|
||||
|
@ -1,5 +1,9 @@
|
||||
@{
|
||||
ViewData["Title"] = "Campaign details";
|
||||
var headers = new List<Header>{
|
||||
new Header { Controller = "Campaigns", Text = "Back to Campaigns" },
|
||||
new Header { Controller = "Catalog", Text = "Back to catalog" }
|
||||
};
|
||||
@model CampaignItem
|
||||
}
|
||||
<section class="esh-campaigns-hero">
|
||||
@ -8,9 +12,7 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" },
|
||||
new Header() { Controller = "Campaigns", Text = "Back to Campaigns" } })
|
||||
<partial name="_Header" model="headers" />
|
||||
|
||||
<div class="container">
|
||||
<div class="card esh-campaigns-items">
|
||||
|
@ -1,6 +1,8 @@
|
||||
@{
|
||||
ViewData["Title"] = "Campaigns";
|
||||
@model WebMVC.ViewModels.CampaignViewModel
|
||||
var headers = new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } };
|
||||
}
|
||||
|
||||
<section class="esh-campaigns-hero">
|
||||
@ -9,8 +11,7 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } })
|
||||
<partial name="_Header" model="headers" />
|
||||
|
||||
<div class="container">
|
||||
<br />
|
||||
@ -54,12 +55,14 @@
|
||||
@foreach (var catalogItem in Model.CampaignItems)
|
||||
{
|
||||
<div class="esh-campaigns-item col-md-4">
|
||||
@Html.Partial("_campaign", catalogItem)
|
||||
@*@Html.Partial("_campaign", catalogItem)*@
|
||||
<partial name="_campaign" model="catalogItem" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@Html.Partial("_pagination", Model.PaginationInfo)
|
||||
@*@Html.Partial("_pagination", Model.PaginationInfo)*@
|
||||
<partial name="_pagination" model="Model.PaginationInfo" />
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "My Cart";
|
||||
var headers = new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } };
|
||||
}
|
||||
|
||||
<form method="post" id="cartForm">
|
||||
<div class="esh-basket">
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } })
|
||||
|
||||
<partial name="_header" model="headers" />
|
||||
@await Component.InvokeAsync("CartList", new { user = UserManager.Parse(User) })
|
||||
</div>
|
||||
</form>
|
||||
|
@ -35,18 +35,18 @@
|
||||
|
||||
@if (Model.CatalogItems.Count() > 0)
|
||||
{
|
||||
@Html.Partial("_pagination", Model.PaginationInfo)
|
||||
<partial name="_pagination" model="Model.PaginationInfo" />
|
||||
|
||||
<div class="esh-catalog-items row">
|
||||
@foreach (var catalogItem in Model.CatalogItems)
|
||||
{
|
||||
<div class="esh-catalog-item col-md-4">
|
||||
@Html.Partial("_product", catalogItem)
|
||||
<partial name="_product" , model="catalogItem" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@Html.Partial("_pagination", Model.PaginationInfo)
|
||||
<partial name="_pagination" model="Model.PaginationInfo" />
|
||||
}
|
||||
else
|
||||
{
|
||||
|
6
src/Web/WebMVC/Views/Home/Privacy.cshtml
Normal file
6
src/Web/WebMVC/Views/Home/Privacy.cshtml
Normal file
@ -0,0 +1,6 @@
|
||||
@{
|
||||
ViewData["Title"] = "Privacy Policy";
|
||||
}
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
|
||||
<p>Use this page to detail your site's privacy policy.</p>
|
@ -4,15 +4,17 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "New Order";
|
||||
var header = new Header { Controller = "Cart", Text = "Back to cart" };
|
||||
}
|
||||
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Cart", Text = "Back to cart" } })
|
||||
<partial name="_header" model="new List<Header> { header }" />
|
||||
|
||||
<div class="container">
|
||||
<form method="post" asp-controller="Order" asp-action="Checkout">
|
||||
<section class="esh-orders_new-section">
|
||||
<div class="row">
|
||||
@foreach (var error in ViewData.ModelState.Values.SelectMany(err => err.Errors)) {
|
||||
@foreach (var error in ViewData.ModelState.Values.SelectMany(err => err.Errors))
|
||||
{
|
||||
<div class="alert alert-warning" role="alert">
|
||||
@error.ErrorMessage
|
||||
</div>
|
||||
@ -84,7 +86,7 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@await Html.PartialAsync("_OrderItems")
|
||||
<partial name="_OrderItems" />
|
||||
|
||||
<section class="esh-orders_new-section">
|
||||
<div class="form-group">
|
||||
@ -101,5 +103,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -4,11 +4,12 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Order Detail";
|
||||
var headers = new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } };
|
||||
}
|
||||
|
||||
<div class="esh-orders_detail">
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } })
|
||||
<partial name="_Header" model="headers" />
|
||||
|
||||
<div class="container">
|
||||
<section class="esh-orders_detail-section">
|
||||
|
@ -4,13 +4,15 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "My Orders";
|
||||
var headers = new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" },
|
||||
new Header() { Text = " / " },
|
||||
new Header() { Controller = "OrderManagement", Text = "Orders Management" }
|
||||
};
|
||||
}
|
||||
|
||||
<div class="esh-orders">
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" },
|
||||
new Header() { Text = " / " },
|
||||
new Header() { Controller = "OrderManagement", Text = "Orders Management" } })
|
||||
<partial name="_Header" model="headers" />
|
||||
|
||||
<div class="container">
|
||||
<article class="esh-orders-titles row">
|
||||
|
@ -4,11 +4,12 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "My Orders";
|
||||
var headers = new List<Header>() {
|
||||
new Header { Controller = " Catalog", Text="Back to catalog" } };
|
||||
}
|
||||
|
||||
<div class="esh-orders">
|
||||
@Html.Partial("_Header", new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } })
|
||||
<partial name="_Header" model="headers" />
|
||||
|
||||
<div class="container">
|
||||
<article class="esh-orders-titles row">
|
||||
|
41
src/Web/WebMVC/Views/Shared/_CookieConsentPartial.cshtml
Normal file
41
src/Web/WebMVC/Views/Shared/_CookieConsentPartial.cshtml
Normal file
@ -0,0 +1,41 @@
|
||||
@using Microsoft.AspNetCore.Http.Features
|
||||
|
||||
@{
|
||||
var consentFeature = Context.Features.Get<ITrackingConsentFeature>();
|
||||
var showBanner = !consentFeature?.CanTrack ?? false;
|
||||
var cookieString = consentFeature?.CreateConsentCookie();
|
||||
}
|
||||
|
||||
@if (showBanner)
|
||||
{
|
||||
<nav id="cookieConsent" class="navbar navbar-default navbar-fixed-top" role="alert">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#cookieConsent .navbar-collapse">
|
||||
<span class="sr-only">Toggle cookie consent banner</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<span class="navbar-brand"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span></span>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse">
|
||||
<p class="navbar-text">
|
||||
Use this space to summarize your privacy and cookie use policy.
|
||||
</p>
|
||||
<div class="navbar-right">
|
||||
<a asp-controller="Home" asp-action="Privacy" class="btn btn-info navbar-btn">Learn More</a>
|
||||
<button type="button" class="btn btn-default navbar-btn" data-cookie-string="@cookieString">Accept</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<script>
|
||||
(function () {
|
||||
document.querySelector("#cookieConsent button[data-cookie-string]").addEventListener("click", function (el) {
|
||||
document.cookie = el.target.dataset.cookieString;
|
||||
document.querySelector("#cookieConsent").classList.add("hidden");
|
||||
}, false);
|
||||
})();
|
||||
</script>
|
||||
}
|
@ -49,6 +49,7 @@
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<partial name="_CookieConsentPartial" />
|
||||
|
||||
@RenderBody()
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<UserSecretsId>aspnet-Microsoft.eShopOnContainers-946ae052-8305-4a99-965b-ec8636ddbae3</UserSecretsId>
|
||||
<DockerComposeProjectPath>..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
@ -18,27 +19,24 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BuildBundlerMinifier" Version="2.6.375" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Redis" Version="0.3.3" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Fabric.MSBuild" Version="1.6.5" />
|
||||
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.113" />
|
||||
<PackageReference Include="BuildBundlerMinifier" Version="2.8.391" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Redis" Version="0.4.1" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Fabric.MSBuild" Version="1.6.7" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.163" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
|
||||
<Exec Command="dotnet bundle" Condition="'$(ASPNETCORE_ENVIRONMENT)'!='Development'" />
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.7.385" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\BuildingBlocks\HealthChecks\src\Microsoft.AspNetCore.HealthChecks\Microsoft.AspNetCore.HealthChecks.csproj" />
|
||||
|
@ -1,10 +1,11 @@
|
||||
{
|
||||
"AllowedHosts": "*",
|
||||
"CatalogUrl": "http://localhost:5101",
|
||||
"OrderingUrl": "http://localhost:5102",
|
||||
"BasketUrl": "http://localhost:5103",
|
||||
"MarketingUrl": "http://localhost:5110",
|
||||
"IdentityUrl": "http://localhost:5105",
|
||||
"CallBackUrl": "http://localhost:5100/",
|
||||
"IdentityUrl": "https://localhost:4105",
|
||||
"CallBackUrl": "https://localhost:4100/",
|
||||
"LocationsUrl": "http://localhost:5109/",
|
||||
"IsClusterEnv": "False",
|
||||
"UseResilientHttp": "True",
|
||||
@ -23,5 +24,13 @@
|
||||
"InstrumentationKey": ""
|
||||
},
|
||||
"HttpClientRetryCount": 8,
|
||||
"HttpClientExceptionsAllowedBeforeBreaking": 7
|
||||
"HttpClientExceptionsAllowedBeforeBreaking": 7,
|
||||
"Kestrel": {
|
||||
"Certificates": {
|
||||
"Default": {
|
||||
"Path": "./synergydev.pfx",
|
||||
"Password": "RH@ssl2018"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -6,7 +6,8 @@
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global.signalR = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
}(this, (function () {
|
||||
'use strict';
|
||||
|
||||
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
||||
|
||||
@ -33,7 +34,8 @@ var es6Promise_auto = createCommonjsModule(function (module, exports) {
|
||||
|
||||
(function (global, factory) {
|
||||
module.exports = factory();
|
||||
}(commonjsGlobal, (function () { function objectOrFunction(x) {
|
||||
}(commonjsGlobal, (function () {
|
||||
function objectOrFunction(x) {
|
||||
var type = typeof x;
|
||||
return x !== null && (type === 'object' || type === 'function');
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
ARG NODE_IMAGE=node:8.11
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk as dotnet-build
|
||||
FROM microsoft/dotnet:2.1.401-sdk as dotnet-build
|
||||
WORKDIR /src
|
||||
|
||||
FROM ${NODE_IMAGE} as node-build
|
||||
@ -16,6 +17,7 @@ FROM dotnet-build as publish
|
||||
WORKDIR /src/src/Web/WebSPA/wwwroot
|
||||
COPY --from=node-build /web/wwwroot .
|
||||
WORKDIR /src
|
||||
COPY /Certificates/eShopOnContainers.pfx /root/.aspnet/https/
|
||||
COPY . .
|
||||
WORKDIR /src/src/Web/WebSPA
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
@ -4,7 +4,7 @@
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:58018/",
|
||||
"sslPort": 0
|
||||
"sslPort": 4104
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
@ -12,7 +12,8 @@
|
||||
"commandName": "IISExpress",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Production"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
}
|
||||
}
|
||||
}
|
BIN
src/Web/WebSPA/Setup/DotNet Foundation CA.pfx
Normal file
BIN
src/Web/WebSPA/Setup/DotNet Foundation CA.pfx
Normal file
Binary file not shown.
BIN
src/Web/WebSPA/Setup/eShopOnContainers.pfx
Normal file
BIN
src/Web/WebSPA/Setup/eShopOnContainers.pfx
Normal file
Binary file not shown.
@ -26,12 +26,12 @@ namespace eShopConContainers.WebSPA
|
||||
|
||||
public IConfiguration Configuration { get; }
|
||||
|
||||
private IHostingEnvironment _hostingEnv;
|
||||
private readonly IHostingEnvironment _hostingEnv;
|
||||
public Startup(IHostingEnvironment env)
|
||||
{
|
||||
_hostingEnv = env;
|
||||
|
||||
var localPath = new Uri(Configuration["ASPNETCORE_URLS"])?.LocalPath ?? "/";
|
||||
string localPath = new Uri(Configuration["ASPNETCORE_URLS"])?.LocalPath ?? "/";
|
||||
Configuration["BaseUrl"] = localPath;
|
||||
}
|
||||
|
||||
@ -43,8 +43,8 @@ namespace eShopConContainers.WebSPA
|
||||
|
||||
services.AddHealthChecks(checks =>
|
||||
{
|
||||
var minutes = 1;
|
||||
if (int.TryParse(Configuration["HealthCheck:Timeout"], out var minutesParsed))
|
||||
int minutes = 1;
|
||||
if (int.TryParse(Configuration["HealthCheck:Timeout"], out int minutesParsed))
|
||||
{
|
||||
minutes = minutesParsed;
|
||||
}
|
||||
@ -74,6 +74,11 @@ namespace eShopConContainers.WebSPA
|
||||
.AddJsonOptions(options =>
|
||||
{
|
||||
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
|
||||
})
|
||||
.SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_2_1);
|
||||
services.AddHttpsRedirection(opts =>
|
||||
{
|
||||
opts.HttpsPort = 4104;
|
||||
});
|
||||
}
|
||||
|
||||
@ -89,6 +94,12 @@ namespace eShopConContainers.WebSPA
|
||||
{
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
else
|
||||
{
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
// Configure XSRF middleware, This pattern is for SPA style applications where XSRF token is added on Index page
|
||||
// load and passed back token on every subsequent async request
|
||||
@ -105,7 +116,7 @@ namespace eShopConContainers.WebSPA
|
||||
//Seed Data
|
||||
WebContextSeed.Seed(app, env, loggerFactory);
|
||||
|
||||
var pathBase = Configuration["PATH_BASE"];
|
||||
string pathBase = Configuration["PATH_BASE"];
|
||||
if (!string.IsNullOrEmpty(pathBase))
|
||||
{
|
||||
loggerFactory.CreateLogger("init").LogDebug($"Using PATH BASE '{pathBase}'");
|
||||
@ -140,7 +151,7 @@ namespace eShopConContainers.WebSPA
|
||||
private void RegisterAppInsights(IServiceCollection services)
|
||||
{
|
||||
services.AddApplicationInsightsTelemetry(Configuration);
|
||||
var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
|
||||
string orchestratorType = Configuration.GetValue<string>("OrchestratorType");
|
||||
|
||||
if (orchestratorType?.ToUpper() == "K8S")
|
||||
{
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<UserSecretsId>aspnetcorespa-c23d27a4-eb88-4b18-9b77-2a93f3b15119</UserSecretsId>
|
||||
<DockerComposeProjectPath>..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
<TypeScriptCompileOnSaveEnabled>false</TypeScriptCompileOnSaveEnabled>
|
||||
@ -69,6 +70,10 @@
|
||||
<None Remove="Client\polyfills.ts" />
|
||||
<None Remove="Client\test.ts" />
|
||||
<None Remove="Client\typings.d.ts" />
|
||||
<None Remove="Setup\DotNet Foundation CA.pfx" />
|
||||
<None Remove="Setup\eShopOnContainers.pfx" />
|
||||
<Content Include="Setup\DotNet Foundation CA.pfx" />
|
||||
<Content Include="Setup\eShopOnContainers.pfx" />
|
||||
<Content Include="Setup\images.zip">
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
@ -84,13 +89,13 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta8" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Redis" Version="0.3.3" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.7.2" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.0.0-beta9" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Redis" Version="0.4.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
@ -173,10 +178,13 @@
|
||||
<TypeScriptCompile Include="Client\typings.d.ts" />
|
||||
</ItemGroup>
|
||||
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties package-lock_1json__JSONSchema="http://json.schemastore.org/bower" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<ItemGroup>
|
||||
<Content Update="Setup\DotNet Foundation CA.pfx">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Update="Setup\eShopOnContainers.pfx">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"IdentityUrl": "http://localhost:5105",
|
||||
"IdentityUrl": "https://localhost:4105",
|
||||
"MarketingUrl": "http://localhost:5110",
|
||||
"CallBackUrl": "http://localhost:5104/",
|
||||
"CallBackUrl": "https://localhost:4104/",
|
||||
"PurchaseUrl": "http://localhost:5200",
|
||||
"UseCustomizationData": true,
|
||||
"IsClusterEnv": "False",
|
||||
@ -16,5 +16,13 @@
|
||||
},
|
||||
"ApplicationInsights": {
|
||||
"InstrumentationKey": ""
|
||||
},
|
||||
"Kestrel": {
|
||||
"Certificates": {
|
||||
"Default": {
|
||||
"Path": "./Setup/eShopOnContainers.pfx",
|
||||
"Password": "D0tNet@"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,13 @@
|
||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
|
||||
FROM microsoft/dotnet:2.1.3-aspnetcore-runtime AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM microsoft/dotnet:2.1-sdk AS build
|
||||
FROM microsoft/dotnet:2.1.401-sdk AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
WORKDIR /src/src/Web/WebStatus
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
COPY src/Web/WebMVC/synergydev.pfx /root/.aspnet/https/
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
|
@ -13,7 +13,8 @@
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"use64Bit": true
|
||||
},
|
||||
"WebStatus": {
|
||||
"commandName": "Project",
|
||||
|
@ -1,15 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.ApplicationInsights.Extensibility;
|
||||
using Microsoft.ApplicationInsights.ServiceFabric;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using WebStatus.Extensions;
|
||||
using Microsoft.ApplicationInsights.Extensibility;
|
||||
using Microsoft.ApplicationInsights.ServiceFabric;
|
||||
|
||||
using TimeSpan = System.TimeSpan;
|
||||
|
||||
namespace WebStatus
|
||||
{
|
||||
@ -33,7 +31,7 @@ namespace WebStatus
|
||||
services.AddHealthChecks(checks =>
|
||||
{
|
||||
var minutes = 1;
|
||||
if (int.TryParse(Configuration["HealthCheck:Timeout"], out var minutesParsed))
|
||||
if (int.TryParse(Configuration["HealthCheck:Timeout"], out int minutesParsed))
|
||||
{
|
||||
minutes = minutesParsed;
|
||||
}
|
||||
@ -50,7 +48,10 @@ namespace WebStatus
|
||||
checks.AddUrlCheckIfNotNull(Configuration["spa"], TimeSpan.Zero); //No cache for this HealthCheck, better just for demos
|
||||
});
|
||||
|
||||
services.AddMvc();
|
||||
services
|
||||
.AddMvc()
|
||||
.SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_2_1)
|
||||
;
|
||||
}
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
|
@ -1,16 +1,17 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
|
||||
<DockerComposeProjectPath>..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.2.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.6.1" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.4.1" />
|
||||
<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-beta1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0" />
|
||||
<PackageReference Include="Microsoft.ApplicationInsights.ServiceFabric" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.113" />
|
||||
</ItemGroup>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user