Skip to content

Commit 811c092

Browse files
authored
Merge pull request #55 from bing-framework/dev_3.1
publish: 2.2.0
2 parents 7bf7a7c + 1d73572 commit 811c092

File tree

270 files changed

+8501
-1083
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

270 files changed

+8501
-1083
lines changed

Bing.All.sln

Lines changed: 100 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,21 +162,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01-Biz", "01-Biz", "{16E325
162162
EndProject
163163
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02-Serialization", "02-Serialization", "{6883A733-F108-4018-B38A-322804F78DAE}"
164164
EndProject
165-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DDD", "DDD", "{AED4D92B-5196-47E9-BD2C-84D4077F5A70}"
165+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03-DDD", "03-DDD", "{AED4D92B-5196-47E9-BD2C-84D4077F5A70}"
166166
EndProject
167-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ORM", "ORM", "{93A682FB-8EA0-4F10-AC03-CD688025E624}"
167+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04-ORM", "04-ORM", "{93A682FB-8EA0-4F10-AC03-CD688025E624}"
168168
EndProject
169-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Logs", "Logs", "{33F6CAB3-FD8A-4B91-9B94-A1E2DBC2759B}"
169+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02-Logs", "02-Logs", "{33F6CAB3-FD8A-4B91-9B94-A1E2DBC2759B}"
170170
EndProject
171-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{C6B2743E-B7EE-418C-9F9B-79976B71C46B}"
171+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "00-Core", "00-Core", "{C6B2743E-B7EE-418C-9F9B-79976B71C46B}"
172172
EndProject
173-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Web", "Web", "{052D4342-8B65-4836-A9B6-681A7812760E}"
173+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05-Web", "05-Web", "{052D4342-8B65-4836-A9B6-681A7812760E}"
174174
EndProject
175175
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Caching", "Caching", "{9559AE76-7924-4647-8619-35EE39569D6C}"
176176
EndProject
177177
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Emailing", "Emailing", "{B8142AAE-3792-44C0-9197-0F14A9749E33}"
178178
EndProject
179-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Events", "Events", "{B5285F1C-479F-43F5-B3DE-3E930516AF6D}"
179+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "06-Events", "06-Events", "{B5285F1C-479F-43F5-B3DE-3E930516AF6D}"
180180
EndProject
181181
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Abstractions", "framework\src\Bing.Abstractions\Bing.Abstractions.csproj", "{040209E9-B364-47E0-8922-89210ACCFB24}"
182182
EndProject
@@ -214,6 +214,34 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Locks.CSRedis", "frame
214214
EndProject
215215
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Logs.NLog", "framework\src\Bing.Logs.NLog\Bing.Logs.NLog.csproj", "{A073A8B8-C116-4D8E-A519-DF950F68D2DA}"
216216
EndProject
217+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Validation", "framework\src\Bing.Validation\Bing.Validation.csproj", "{D1131EC5-CF40-418F-8E8C-858AADDBCC7F}"
218+
EndProject
219+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.AspNetCore.Authentication.JwtBearer", "framework\src\Bing.AspNetCore.Authentication.JwtBearer\Bing.AspNetCore.Authentication.JwtBearer.csproj", "{7F4DAD82-FB09-445C-8EA2-0F1C50FBBA28}"
220+
EndProject
221+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TextTemplating", "TextTemplating", "{09A94120-CE45-402F-B45A-21DF04F0C226}"
222+
EndProject
223+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.TextTemplating", "framework\src\Bing.TextTemplating\Bing.TextTemplating.csproj", "{E06DC786-72AB-417B-ACDB-AF00688544EA}"
224+
EndProject
225+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.TextTemplating.Scriban", "framework\src\Bing.TextTemplating.Scriban\Bing.TextTemplating.Scriban.csproj", "{65B439C9-4B54-4DB8-86B3-9EBE8E62DF83}"
226+
EndProject
227+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Test.Shared", "framework\tests\Bing.Test.Shared\Bing.Test.Shared.csproj", "{D6C96AE5-8756-4278-A331-43073E08C3ED}"
228+
EndProject
229+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Ddd.Domain.Tests", "framework\tests\Bing.Ddd.Domain.Tests\Bing.Ddd.Domain.Tests.csproj", "{8B581529-D7D2-4DCF-824A-2AAFB58F8C94}"
230+
EndProject
231+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.EventBus", "framework\src\Bing.EventBus\Bing.EventBus.csproj", "{5E8AD211-7AEF-4D9D-AFA8-C85B6F3D7C6A}"
232+
EndProject
233+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.EventBus.Tests", "framework\tests\Bing.EventBus.Tests\Bing.EventBus.Tests.csproj", "{0A5D1639-8EEE-4BC9-94A5-04F354FEFBFD}"
234+
EndProject
235+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Logging", "framework\src\Bing.Logging\Bing.Logging.csproj", "{427DC057-A61A-4D4A-9B20-30F11367AFC8}"
236+
EndProject
237+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Logging.Serilog", "framework\src\Bing.Logging.Serilog\Bing.Logging.Serilog.csproj", "{C935C3C7-0CEB-4583-9039-114631C38989}"
238+
EndProject
239+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Logging.Sinks.Exceptionless", "framework\src\Bing.Logging.Sinks.Exceptionless\Bing.Logging.Sinks.Exceptionless.csproj", "{C7E17279-AAEB-4A58-BBBB-AF443F924D9E}"
240+
EndProject
241+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Logging.Tests", "framework\tests\Bing.Logging.Tests\Bing.Logging.Tests.csproj", "{73871EF9-9CF6-479F-BC1C-AD443CE037AE}"
242+
EndProject
243+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bing.Logging.Serilog.Tests", "framework\tests\Bing.Logging.Serilog.Tests\Bing.Logging.Serilog.Tests.csproj", "{857BF156-74BE-4D71-8814-A1ECAA958C2D}"
244+
EndProject
217245
Global
218246
GlobalSection(SolutionConfigurationPlatforms) = preSolution
219247
Debug|Any CPU = Debug|Any CPU
@@ -472,6 +500,58 @@ Global
472500
{A073A8B8-C116-4D8E-A519-DF950F68D2DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
473501
{A073A8B8-C116-4D8E-A519-DF950F68D2DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
474502
{A073A8B8-C116-4D8E-A519-DF950F68D2DA}.Release|Any CPU.Build.0 = Release|Any CPU
503+
{D1131EC5-CF40-418F-8E8C-858AADDBCC7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
504+
{D1131EC5-CF40-418F-8E8C-858AADDBCC7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
505+
{D1131EC5-CF40-418F-8E8C-858AADDBCC7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
506+
{D1131EC5-CF40-418F-8E8C-858AADDBCC7F}.Release|Any CPU.Build.0 = Release|Any CPU
507+
{7F4DAD82-FB09-445C-8EA2-0F1C50FBBA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
508+
{7F4DAD82-FB09-445C-8EA2-0F1C50FBBA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
509+
{7F4DAD82-FB09-445C-8EA2-0F1C50FBBA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
510+
{7F4DAD82-FB09-445C-8EA2-0F1C50FBBA28}.Release|Any CPU.Build.0 = Release|Any CPU
511+
{E06DC786-72AB-417B-ACDB-AF00688544EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
512+
{E06DC786-72AB-417B-ACDB-AF00688544EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
513+
{E06DC786-72AB-417B-ACDB-AF00688544EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
514+
{E06DC786-72AB-417B-ACDB-AF00688544EA}.Release|Any CPU.Build.0 = Release|Any CPU
515+
{65B439C9-4B54-4DB8-86B3-9EBE8E62DF83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
516+
{65B439C9-4B54-4DB8-86B3-9EBE8E62DF83}.Debug|Any CPU.Build.0 = Debug|Any CPU
517+
{65B439C9-4B54-4DB8-86B3-9EBE8E62DF83}.Release|Any CPU.ActiveCfg = Release|Any CPU
518+
{65B439C9-4B54-4DB8-86B3-9EBE8E62DF83}.Release|Any CPU.Build.0 = Release|Any CPU
519+
{D6C96AE5-8756-4278-A331-43073E08C3ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
520+
{D6C96AE5-8756-4278-A331-43073E08C3ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
521+
{D6C96AE5-8756-4278-A331-43073E08C3ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
522+
{D6C96AE5-8756-4278-A331-43073E08C3ED}.Release|Any CPU.Build.0 = Release|Any CPU
523+
{8B581529-D7D2-4DCF-824A-2AAFB58F8C94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
524+
{8B581529-D7D2-4DCF-824A-2AAFB58F8C94}.Debug|Any CPU.Build.0 = Debug|Any CPU
525+
{8B581529-D7D2-4DCF-824A-2AAFB58F8C94}.Release|Any CPU.ActiveCfg = Release|Any CPU
526+
{8B581529-D7D2-4DCF-824A-2AAFB58F8C94}.Release|Any CPU.Build.0 = Release|Any CPU
527+
{5E8AD211-7AEF-4D9D-AFA8-C85B6F3D7C6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
528+
{5E8AD211-7AEF-4D9D-AFA8-C85B6F3D7C6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
529+
{5E8AD211-7AEF-4D9D-AFA8-C85B6F3D7C6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
530+
{5E8AD211-7AEF-4D9D-AFA8-C85B6F3D7C6A}.Release|Any CPU.Build.0 = Release|Any CPU
531+
{0A5D1639-8EEE-4BC9-94A5-04F354FEFBFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
532+
{0A5D1639-8EEE-4BC9-94A5-04F354FEFBFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
533+
{0A5D1639-8EEE-4BC9-94A5-04F354FEFBFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
534+
{0A5D1639-8EEE-4BC9-94A5-04F354FEFBFD}.Release|Any CPU.Build.0 = Release|Any CPU
535+
{427DC057-A61A-4D4A-9B20-30F11367AFC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
536+
{427DC057-A61A-4D4A-9B20-30F11367AFC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
537+
{427DC057-A61A-4D4A-9B20-30F11367AFC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
538+
{427DC057-A61A-4D4A-9B20-30F11367AFC8}.Release|Any CPU.Build.0 = Release|Any CPU
539+
{C935C3C7-0CEB-4583-9039-114631C38989}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
540+
{C935C3C7-0CEB-4583-9039-114631C38989}.Debug|Any CPU.Build.0 = Debug|Any CPU
541+
{C935C3C7-0CEB-4583-9039-114631C38989}.Release|Any CPU.ActiveCfg = Release|Any CPU
542+
{C935C3C7-0CEB-4583-9039-114631C38989}.Release|Any CPU.Build.0 = Release|Any CPU
543+
{C7E17279-AAEB-4A58-BBBB-AF443F924D9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
544+
{C7E17279-AAEB-4A58-BBBB-AF443F924D9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
545+
{C7E17279-AAEB-4A58-BBBB-AF443F924D9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
546+
{C7E17279-AAEB-4A58-BBBB-AF443F924D9E}.Release|Any CPU.Build.0 = Release|Any CPU
547+
{73871EF9-9CF6-479F-BC1C-AD443CE037AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
548+
{73871EF9-9CF6-479F-BC1C-AD443CE037AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
549+
{73871EF9-9CF6-479F-BC1C-AD443CE037AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
550+
{73871EF9-9CF6-479F-BC1C-AD443CE037AE}.Release|Any CPU.Build.0 = Release|Any CPU
551+
{857BF156-74BE-4D71-8814-A1ECAA958C2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
552+
{857BF156-74BE-4D71-8814-A1ECAA958C2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
553+
{857BF156-74BE-4D71-8814-A1ECAA958C2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
554+
{857BF156-74BE-4D71-8814-A1ECAA958C2D}.Release|Any CPU.Build.0 = Release|Any CPU
475555
EndGlobalSection
476556
GlobalSection(SolutionProperties) = preSolution
477557
HideSolutionNode = FALSE
@@ -565,6 +645,20 @@ Global
565645
{F8BFB799-8ECB-49F6-AAA4-5B07F64DB3D9} = {3030FE3D-DB8F-403D-A181-8152670827AB}
566646
{2C0C2E7B-25AC-4B48-AF62-59E3C5808AEC} = {F8BFB799-8ECB-49F6-AAA4-5B07F64DB3D9}
567647
{A073A8B8-C116-4D8E-A519-DF950F68D2DA} = {33F6CAB3-FD8A-4B91-9B94-A1E2DBC2759B}
648+
{D1131EC5-CF40-418F-8E8C-858AADDBCC7F} = {C6B2743E-B7EE-418C-9F9B-79976B71C46B}
649+
{7F4DAD82-FB09-445C-8EA2-0F1C50FBBA28} = {052D4342-8B65-4836-A9B6-681A7812760E}
650+
{09A94120-CE45-402F-B45A-21DF04F0C226} = {3030FE3D-DB8F-403D-A181-8152670827AB}
651+
{E06DC786-72AB-417B-ACDB-AF00688544EA} = {09A94120-CE45-402F-B45A-21DF04F0C226}
652+
{65B439C9-4B54-4DB8-86B3-9EBE8E62DF83} = {09A94120-CE45-402F-B45A-21DF04F0C226}
653+
{D6C96AE5-8756-4278-A331-43073E08C3ED} = {5C7976B4-C243-41B9-8303-8E8FAE099D31}
654+
{8B581529-D7D2-4DCF-824A-2AAFB58F8C94} = {5C7976B4-C243-41B9-8303-8E8FAE099D31}
655+
{5E8AD211-7AEF-4D9D-AFA8-C85B6F3D7C6A} = {B5285F1C-479F-43F5-B3DE-3E930516AF6D}
656+
{0A5D1639-8EEE-4BC9-94A5-04F354FEFBFD} = {5C7976B4-C243-41B9-8303-8E8FAE099D31}
657+
{427DC057-A61A-4D4A-9B20-30F11367AFC8} = {33F6CAB3-FD8A-4B91-9B94-A1E2DBC2759B}
658+
{C935C3C7-0CEB-4583-9039-114631C38989} = {33F6CAB3-FD8A-4B91-9B94-A1E2DBC2759B}
659+
{C7E17279-AAEB-4A58-BBBB-AF443F924D9E} = {33F6CAB3-FD8A-4B91-9B94-A1E2DBC2759B}
660+
{73871EF9-9CF6-479F-BC1C-AD443CE037AE} = {5C7976B4-C243-41B9-8303-8E8FAE099D31}
661+
{857BF156-74BE-4D71-8814-A1ECAA958C2D} = {5C7976B4-C243-41B9-8303-8E8FAE099D31}
568662
EndGlobalSection
569663
GlobalSection(ExtensibilityGlobals) = postSolution
570664
SolutionGuid = {C1202A0F-83CC-4602-BCE5-20CB640BCAD4}

framework/Publish.bat

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ dotnet pack src/Bing.Logs.Log4Net -c Release -o nuget_pub
2424
dotnet pack src/Bing.Logs.NLog -c Release -o nuget_pub
2525
dotnet pack src/Bing.Logs.Serilog -c Release -o nuget_pub
2626

27+
::Logging
28+
dotnet pack src/Bing.Logging -c Release -o nuget_pub
29+
dotnet pack src/Bing.Logging.Serilog -c Release -o nuget_pub
30+
dotnet pack src/Bing.Logging.Sinks.Exceptionless -c Release -o nuget_pub
31+
2732
::Data
2833
dotnet pack src/Bing.Data -c Release -o nuget_pub
2934
dotnet pack src/Bing.Data.Sql -c Release -o nuget_pub
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<Import Project="project.props" />
3+
4+
<Import Project="project.dependency.props" />
5+
6+
<Import Project="..\..\..\common.props" />
7+
8+
<ItemGroup>
9+
<Folder Include="Bing\AspNetCore\" />
10+
</ItemGroup>
11+
12+
</Project>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace Bing.Identity.JwtBearer.Abstractions
6+
{
7+
/// <summary>
8+
/// Jwy刷新令牌存储器
9+
/// </summary>
10+
public interface IRefreshTokenStore
11+
{
12+
}
13+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<Project>
2+
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
3+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.2.0" />
4+
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />
5+
</ItemGroup>
6+
7+
<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
8+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftPackageVersion)" />
9+
</ItemGroup>
10+
11+
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
12+
<DefineConstants>NETSTANDARD</DefineConstants>
13+
</PropertyGroup>
14+
15+
<PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
16+
<DefineConstants>NETCOREAPP3_1</DefineConstants>
17+
</PropertyGroup>
18+
19+
<ItemGroup>
20+
<ProjectReference Include="..\Bing.Security\Bing.Security.csproj" />
21+
</ItemGroup>
22+
23+
</Project>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<Project>
2+
<PropertyGroup>
3+
<TargetFrameworks>netstandard2.0;netcoreapp3.1;</TargetFrameworks>
4+
</PropertyGroup>
5+
6+
<PropertyGroup>
7+
<AssemblyName>Bing.AspNetCore.Authentication.JwtBearer</AssemblyName>
8+
<PackageId>Bing.AspNetCore.Authentication.JwtBearer</PackageId>
9+
<Description>Bing.AspNetCore.Authentication.JwtBearer 是Bing应用框架的基于Jwt授权类库。</Description>
10+
</PropertyGroup>
11+
12+
</Project>

framework/src/Bing.AspNetCore.Mvc.UI/Bing/AspNetCore/Mvc/UI/RazorPages/DefaultRazorHtmlGenerator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Threading.Tasks;
44
using Bing.DependencyInjection;
55
using Bing.Extensions;
6-
using Bing.Helpers;
6+
using Bing.IO;
77
using Bing.Logs;
88
using Microsoft.AspNetCore.Http;
99
using Microsoft.AspNetCore.Mvc;

framework/src/Bing.AspNetCore.Mvc.UI/project.dependency.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<ItemGroup>
3-
<PackageReference Include="Bing.Utils.Http" Version="1.2.3" />
3+
<PackageReference Include="Bing.Utils.Http" Version="$(BingUtilsPackageVersion)" />
44
</ItemGroup>
55

66
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">

framework/src/Bing.AspNetCore.Mvc/Bing/AspNetCore/Mvc/ExceptionHandling/BingExceptionFilter.cs

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
using System.Threading.Tasks;
1+
using System;
2+
using System.Text;
3+
using System.Threading.Tasks;
4+
using Bing.AspNetCore.ExceptionHandling;
25
using Bing.DependencyInjection;
36
using Bing.ExceptionHandling;
7+
using Bing.Helpers;
8+
using Bing.Http;
9+
using Bing.Utils.Json;
410
using Microsoft.AspNetCore.Http;
511
using Microsoft.AspNetCore.Mvc.Abstractions;
612
using Microsoft.AspNetCore.Mvc.Filters;
13+
using Microsoft.Extensions.Logging;
14+
using Microsoft.Extensions.Logging.Abstractions;
15+
using Microsoft.Extensions.Options;
716

817
namespace Bing.AspNetCore.Mvc.ExceptionHandling
918
{
@@ -31,7 +40,7 @@ protected virtual bool ShouldHandleException(ExceptionContext context)
3140
{
3241
if (context.ActionDescriptor.IsControllerAction() && context.ActionDescriptor.HasObjectResult())
3342
return true;
34-
if (context.HttpContext.Request.CanAccept("application/json"))
43+
if (context.HttpContext.Request.CanAccept(MimeTypes.Application.Json))
3544
return true;
3645
if (context.HttpContext.Request.IsAjax())
3746
return true;
@@ -44,6 +53,28 @@ protected virtual bool ShouldHandleException(ExceptionContext context)
4453
/// <param name="context">异常上下文</param>
4554
protected virtual async Task HandleAndWrapException(ExceptionContext context)
4655
{
56+
context.HttpContext.Response.Headers.Add(BingHttpConst.BingErrorFormat, "true");
57+
context.HttpContext.Response.StatusCode = (int)context
58+
.GetRequiredService<IHttpExceptionStatusCodeFinder>()
59+
.GetStatusCode(context.HttpContext, context.Exception);
60+
61+
var exceptionHandlingOptions = context.GetRequiredService<IOptions<BingExceptionHandlingOptions>>().Value;
62+
var exceptionToErrorInfoConverter = context.GetRequiredService<IExceptionToErrorInfoConverter>();
63+
var remoteServiceErrorInfo = exceptionToErrorInfoConverter.Convert(context.Exception, exceptionHandlingOptions.SendExceptionDetailsToClients);
64+
65+
// TODO: 此处考虑是否还要抽象个对象存放信息
66+
context.Result = new ApiResult(Conv.ToInt(remoteServiceErrorInfo.Code), remoteServiceErrorInfo.Message);
67+
68+
var logLevel = context.Exception.GetLogLevel();
69+
70+
var remoteServiceErrorInfoBuilder = new StringBuilder();
71+
remoteServiceErrorInfoBuilder.AppendLine($"---------- {nameof(RemoteServiceErrorInfo)} ----------");
72+
remoteServiceErrorInfoBuilder.AppendLine(JsonHelper.ToJson(remoteServiceErrorInfo, indented: true));
73+
74+
var logger = context.GetService<ILogger<BingExceptionFilter>>(NullLogger<BingExceptionFilter>.Instance);
75+
logger.LogWithLevel(logLevel,remoteServiceErrorInfoBuilder.ToString());
76+
logger.LogException(context.Exception,logLevel);
77+
4778
await context.GetRequiredService<IExceptionNotifier>().NotifyAsync(new ExceptionNotificationContext(context.Exception));
4879
context.Exception = null;
4980
}

framework/src/Bing.AspNetCore/Bing/AspNetCore/Cors/AllowCorsRequestMiddleware.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
namespace Bing.AspNetCore.Cors
55
{
66
/// <summary>
7-
/// 允许CORS请求中间件
7+
/// 跨域中间件
88
/// </summary>
99
public class AllowCorsRequestMiddleware : IMiddleware
1010
{
@@ -25,6 +25,7 @@ public class AllowCorsRequestMiddleware : IMiddleware
2525
/// <param name="context">Http上下文</param>
2626
public async Task InvokeAsync(HttpContext context)
2727
{
28+
// 若为OPTIONS跨域请求则直接返回,不进入后续管道
2829
if (context.Request.Method.ToLower() == "options")
2930
{
3031
context.Response.StatusCode = StatusCodes.Status202Accepted;

0 commit comments

Comments
 (0)