diff --git a/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj b/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj index a00ac7b0..795b8a09 100644 --- a/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj +++ b/src/admin/Bootstrap.Admin/Bootstrap.Admin.csproj @@ -4,7 +4,7 @@ netcoreapp3.0 true - + $(MSBuildProjectName).xml Windows @@ -13,16 +13,12 @@ - - - - diff --git a/src/admin/Bootstrap.Admin/Startup.cs b/src/admin/Bootstrap.Admin/Startup.cs index 05ed94a3..b424fcd9 100644 --- a/src/admin/Bootstrap.Admin/Startup.cs +++ b/src/admin/Bootstrap.Admin/Startup.cs @@ -11,8 +11,6 @@ using Microsoft.AspNetCore.Mvc.Versioning; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; using System; using System.Text.Encodings.Web; using System.Text.Unicode; @@ -59,11 +57,7 @@ namespace Bootstrap.Admin services.AddDbAdapter(); services.AddIPLocator(DictHelper.ConfigIPLocator); services.AddOnlineUsers(); - services.AddSignalR().AddNewtonsoftJsonProtocol(op => - { - op.PayloadSerializerSettings.ContractResolver = new DefaultContractResolver(); - op.PayloadSerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; - }); + services.AddSignalR().AddJsonProtocol(op => op.PayloadSerializerOptions.Configure()); services.AddSignalRExceptionFilterHandler(async (client, ex) => await client.SendMessageBody(ex).ConfigureAwait(false)); services.AddResponseCompression(); services.AddBootstrapAdminAuthentication().AddGitee(OAuthHelper.Configure).AddGitHub(OAuthHelper.Configure); @@ -77,12 +71,7 @@ namespace Bootstrap.Admin { options.Filters.Add(); options.Filters.Add>(); - }).AddNewtonsoftJson(op => - { - op.SerializerSettings.ContractResolver = new DefaultContractResolver(); - op.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; - JsonConvert.DefaultSettings = () => op.SerializerSettings; - }); + }).AddJsonOptions(op => op.JsonSerializerOptions.Configure()); services.AddApiVersioning(option => { option.DefaultApiVersion = new ApiVersion(1, 0); diff --git a/src/admin/Bootstrap.DataAccess/Bootstrap.DataAccess.csproj b/src/admin/Bootstrap.DataAccess/Bootstrap.DataAccess.csproj index 44e0cb6a..7702c68a 100644 --- a/src/admin/Bootstrap.DataAccess/Bootstrap.DataAccess.csproj +++ b/src/admin/Bootstrap.DataAccess/Bootstrap.DataAccess.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/admin/Bootstrap.DataAccess/Helper/SMSHelper.cs b/src/admin/Bootstrap.DataAccess/Helper/SMSHelper.cs index 3805513e..e76fb953 100644 --- a/src/admin/Bootstrap.DataAccess/Helper/SMSHelper.cs +++ b/src/admin/Bootstrap.DataAccess/Helper/SMSHelper.cs @@ -1,5 +1,4 @@ using Microsoft.AspNetCore.WebUtilities; -using Newtonsoft.Json; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -8,6 +7,12 @@ using System.Net.Http; using System.Security.Cryptography; using System.Text; using System.Threading; +#if NETCOREAPP3_0 +using System.Text.Json; +#else +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; +#endif namespace Bootstrap.DataAccess { @@ -38,7 +43,14 @@ namespace Bootstrap.DataAccess var url = QueryHelpers.AddQueryString("http://open.bluegoon.com/api/sms/sendcode", requestParameters); var req = await client.GetAsync(url); var content = await req.Content.ReadAsStringAsync(); - var result = JsonConvert.DeserializeObject(content); +#if NETCOREAPP3_0 + var result = JsonSerializer.Deserialize(content, new JsonSerializerOptions() + { + PropertyNameCaseInsensitive = true + }); +#else + var result = JsonConvert.DeserializeObject(content, new JsonSerializerSettings() { ContractResolver = new DefaultContractResolver() }); +#endif var ret = false; if (result.Code == "1") { diff --git a/src/client/Bootstrap.Client/Startup.cs b/src/client/Bootstrap.Client/Startup.cs index b5180699..94d41a00 100644 --- a/src/client/Bootstrap.Client/Startup.cs +++ b/src/client/Bootstrap.Client/Startup.cs @@ -9,8 +9,6 @@ using Microsoft.AspNetCore.HttpOverrides; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; using System; namespace Bootstrap.Client @@ -62,12 +60,7 @@ namespace Bootstrap.Client { options.Filters.Add(); options.Filters.Add>(); - }).AddNewtonsoftJson(op => - { - op.SerializerSettings.ContractResolver = new DefaultContractResolver(); - op.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; - JsonConvert.DefaultSettings = () => op.SerializerSettings; - }); + }).AddJsonOptions(op => op.JsonSerializerOptions.Configure()); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.