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.