Skip to content

Commit 238ea80

Browse files
updated from .net core 2.2 to 3.1 and bumped package versions
1 parent d6d9d14 commit 238ea80

File tree

11 files changed

+73
-59
lines changed

11 files changed

+73
-59
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,9 @@
2424
/AspNetCore-Effective-Logging/BookClub.Logic/obj
2525
/AspNetCore-Effective-Logging/BookClub.Infrastructure/bin/Debug/netstandard2.0
2626
/AspNetCore-Effective-Logging/BookClub.Infrastructure/obj
27+
/AspNetCore-Effective-Logging/BookClub.API/bin/Debug/netcoreapp3.1
28+
/AspNetCore-Effective-Logging/BookClub.Data/bin/Debug/netstandard2.1
29+
/AspNetCore-Effective-Logging/BookClub.Entities/bin/Debug/netstandard2.1
30+
/AspNetCore-Effective-Logging/BookClub.Infrastructure/bin/Debug/netstandard2.1
31+
/AspNetCore-Effective-Logging/BookClub.Logic/bin/Debug/netstandard2.1
32+
/AspNetCore-Effective-Logging/BookClub.UI/bin/Debug/netcoreapp3.1

AspNetCore-Effective-Logging/BookClub.API/BookClub.API.csproj

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.2</TargetFramework>
5-
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
6-
<RootNamespace>BookClub.API</RootNamespace>
4+
<TargetFramework>netcoreapp3.1</TargetFramework>
75
</PropertyGroup>
86

97
<ItemGroup>
10-
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.7.0" />
11-
<PackageReference Include="Microsoft.AspNetCore.App" />
12-
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
13-
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
14-
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
15-
<PackageReference Include="NLog.Targets.ElasticSearch" Version="6.1.0" />
16-
<PackageReference Include="NLog.Web.AspNetCore" Version="4.8.4" />
8+
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
9+
<PackageReference Include="NLog.Targets.ElasticSearch" Version="7.3.0" />
10+
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.2" />
1711
<PackageReference Include="Serilog.AspNetCore" Version="3.2.0" />
1812
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
19-
<PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
13+
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
14+
<PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
2015
</ItemGroup>
2116

2217
<ItemGroup>

AspNetCore-Effective-Logging/BookClub.API/Startup.cs

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,33 @@
22
using System.Collections.Generic;
33
using System.Data;
44
using System.Data.SqlClient;
5+
using System.Linq;
56
using BookClub.Infrastructure.Middleware;
67
using BookClub.Data;
78
using BookClub.Logic;
89
using Microsoft.AspNetCore.Authorization;
910
using Microsoft.AspNetCore.Builder;
10-
using Microsoft.AspNetCore.Hosting;
1111
using Microsoft.AspNetCore.Http;
12-
using Microsoft.AspNetCore.Mvc;
1312
using Microsoft.AspNetCore.Mvc.Authorization;
1413
using Microsoft.Extensions.Configuration;
1514
using Microsoft.Extensions.DependencyInjection;
1615
using Swashbuckle.AspNetCore.Swagger;
1716
using BookClub.Infrastructure.Filters;
1817
using BookClub.Infrastructure;
1918
using Microsoft.Extensions.Logging;
19+
using Microsoft.OpenApi.Models;
2020

2121
namespace BookClub.API
2222
{
2323
public class Startup
2424
{
25-
private readonly ILoggerFactory _loggerFactory;
25+
//private readonly ILoggerFactory _loggerFactory;
2626

27-
public Startup(IConfiguration configuration, ILoggerFactory loggerFactory)
27+
//public Startup(IConfiguration configuration, ILoggerFactory loggerFactory)
28+
public Startup(IConfiguration configuration)
2829
{
2930
Configuration = configuration;
30-
_loggerFactory = loggerFactory;
31+
//_loggerFactory = loggerFactory;
3132
}
3233

3334
public IConfiguration Configuration { get; }
@@ -53,17 +54,28 @@ public void ConfigureServices(IServiceCollection services)
5354
services.AddSwaggerGen(c =>
5455
{
5556
var oauthScopeDic = new Dictionary<string, string> { {"api", "Access to the Book Club API"} };
56-
c.SwaggerDoc("v1", new Info { Title = "Book Club API", Version = "v1" });
57-
c.AddSecurityDefinition("oauth2", new OAuth2Scheme
57+
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Book Club API", Version = "v1" });
58+
c.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
5859
{
59-
Type = "oauth2",
60-
Flow = "implicit",
61-
AuthorizationUrl = "https://demo.identityserver.io/connect/authorize",
62-
Scopes = oauthScopeDic
60+
Type = SecuritySchemeType.OAuth2,
61+
Flows = new OpenApiOAuthFlows
62+
{
63+
Implicit = new OpenApiOAuthFlow
64+
{
65+
AuthorizationUrl = new Uri("https://demo.identityserver.io/connect/authorize"),
66+
Scopes = oauthScopeDic
67+
}
68+
}
6369
});
64-
c.AddSecurityRequirement(new Dictionary<string, IEnumerable<string>>
70+
c.AddSecurityRequirement(new OpenApiSecurityRequirement
6571
{
66-
{ "oauth2", new [] { "api" }}
72+
{
73+
new OpenApiSecurityScheme
74+
{
75+
Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "oauth2"}
76+
},
77+
oauthScopeDic.Keys.ToArray()
78+
}
6779
});
6880
});
6981

@@ -73,18 +85,18 @@ public void ConfigureServices(IServiceCollection services)
7385
.RequireAuthenticatedUser();
7486
options.Filters.Add(new AuthorizeFilter(builder.Build()));
7587
options.Filters.Add(typeof(TrackActionPerformanceFilter));
76-
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
88+
});
7789
}
7890

79-
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
91+
public void Configure(IApplicationBuilder app)
8092
{
8193
app.UseApiExceptionHandler(options =>
8294
{
8395
options.AddResponseDetails = UpdateApiErrorResponse;
8496
options.DetermineLogLevel = DetermineLogLevel;
8597
});
8698
app.UseHsts();
87-
99+
app.UseStaticFiles();
88100
app.UseSwagger();
89101
app.UseSwaggerUI(options =>
90102
{
@@ -94,7 +106,12 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env)
94106
app.UseAuthentication();
95107

96108
app.UseHttpsRedirection();
97-
app.UseMvc();
109+
app.UseRouting();
110+
111+
app.UseEndpoints(endpoints =>
112+
{
113+
endpoints.MapControllers();
114+
});
98115
}
99116

100117
private LogLevel DetermineLogLevel(Exception ex)
@@ -109,7 +126,7 @@ private LogLevel DetermineLogLevel(Exception ex)
109126

110127
private void UpdateApiErrorResponse(HttpContext context, Exception ex, ApiError error)
111128
{
112-
if (ex.GetType().Name == typeof(SqlException).Name)
129+
if (ex.GetType().Name == nameof(SqlException))
113130
{
114131
error.Detail = "Exception was a database exception!";
115132
}

AspNetCore-Effective-Logging/BookClub.Data/BookClub.Data.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.0</TargetFramework>
4+
<TargetFramework>netstandard2.1</TargetFramework>
55
<RootNamespace>BookClub.Data</RootNamespace>
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Dapper" Version="1.60.6" />
10-
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
9+
<PackageReference Include="Dapper" Version="2.0.35" />
10+
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.6" />
1111
</ItemGroup>
1212

1313
<ItemGroup>
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.0</TargetFramework>
4+
<TargetFramework>netstandard2.1</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
9-
<PackageReference Include="System.ComponentModel.Annotations" Version="4.5.0" />
8+
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.6" />
9+
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
1010
</ItemGroup>
1111

1212
</Project>

AspNetCore-Effective-Logging/BookClub.Infrastructure/BookClub.Infrastructure.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.0</TargetFramework>
4+
<TargetFramework>netstandard2.1</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>

AspNetCore-Effective-Logging/BookClub.Logic/BookClub.Logic.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.0</TargetFramework>
4+
<TargetFramework>netstandard2.1</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
8+
<PackageReference Include="System.Net.Http.Json" Version="3.2.1" />
99
</ItemGroup>
1010

1111
<ItemGroup>

AspNetCore-Effective-Logging/BookClub.Logic/BookLogic.cs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
using System.Collections.Generic;
22
using System.Net.Http;
3-
using Newtonsoft.Json;
43
using System.Threading.Tasks;
54
using BookClub.Data;
65
using BookClub.Logic.Models;
76
using BookClub.Entities;
87
using System;
98
using System.Linq;
109
using Microsoft.Extensions.Logging;
10+
using System.Net.Http.Json;
1111

1212
namespace BookClub.Logic
1313
{
@@ -54,14 +54,7 @@ private async Task<BookModel> GetBookModelFromBook(Book book)
5454
try
5555
{
5656
_logger.LogDebug("Calling Google API with ISBN {ISBN} and uri {GoogleUri}", book.Isbn, uri);
57-
var response = await httpClient.GetAsync(uri);
58-
if (!response.IsSuccessStatusCode)
59-
{
60-
throw new Exception($"Failed in Google API for ISBN: {book.Isbn} - responseCode = " +
61-
$"{response.StatusCode}");
62-
}
63-
var content = await response.Content.ReadAsStringAsync();
64-
var bookResponse = JsonConvert.DeserializeObject<GoogleBookResponse>(content);
57+
var bookResponse = await httpClient.GetFromJsonAsync<GoogleBookResponse>(uri);
6558

6659
var thisBook = bookResponse?.Items?.FirstOrDefault();
6760
if (thisBook != null)

AspNetCore-Effective-Logging/BookClub.UI/BookClub.UI.csproj

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.2</TargetFramework>
4+
<TargetFramework>netcoreapp3.1</TargetFramework>
55
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
66
<RootNamespace>BookClub.UI</RootNamespace>
77
<UserSecretsId>64a55203-6024-41a2-9efd-914e7fb0dbd5</UserSecretsId>
88
</PropertyGroup>
99

1010

1111
<ItemGroup>
12-
<PackageReference Include="Microsoft.AspNetCore.App" />
13-
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
14-
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
15-
<PackageReference Include="NLog.Targets.ElasticSearch" Version="6.1.0" />
16-
<PackageReference Include="NLog.Web.AspNetCore" Version="4.8.4" />
12+
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.6" />
13+
<PackageReference Include="NLog.Targets.ElasticSearch" Version="7.3.0" />
14+
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.2" />
1715
<PackageReference Include="Serilog" Version="2.9.0" />
1816
<PackageReference Include="Serilog.AspNetCore" Version="3.2.0" />
1917
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
18+
<PackageReference Include="System.Net.Http.Json" Version="3.2.1" />
2019
</ItemGroup>
2120

2221

AspNetCore-Effective-Logging/BookClub.UI/Pages/Create.cshtml.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Microsoft.AspNetCore.Mvc.RazorPages;
44
using Microsoft.Extensions.Logging;
55
using System.Net.Http;
6+
using System.Net.Http.Json;
67
using System.Threading.Tasks;
78

89
namespace BookClub.UI.Pages

0 commit comments

Comments
 (0)