From 493aa7f93e4f2fdc427644c28e995c2adf974696 Mon Sep 17 00:00:00 2001 From: MonkSoul Date: Thu, 20 Oct 2022 15:12:19 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8A=20=E5=8F=91=E5=B8=83=20v4.6.7=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=8A=A8=E6=80=81?= =?UTF-8?q?=20`WebAPI`=20=E9=97=AE=E9=A2=98=20#I5WQ18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复动态 WebAPI 在 class 类型上贴 [ApiDescriptionSettings(true)] 导致接口 404 问题 4.6.7 #I5WQ18:[ApiDescriptionSettings(false)] 对动作方法有效,控制器直接就不能访问了 - 发布 v4.6.7 版本文档 - 更新示例项目 samples 依赖至 v4.6.7 版本 - Replit 网站 Furion 案例同步到 v4.6.7 版本 - Gitee 和 Github 发布 Release-v4.6.7 版本 - 同步更新日志 --- .../Furion.Extras.Authentication.JwtBearer.csproj | 2 +- .../Furion.Extras.DatabaseAccessor.Dapper.csproj | 2 +- .../Furion.Extras.DatabaseAccessor.MongoDB.csproj | 2 +- .../Furion.Extras.DatabaseAccessor.SqlSugar.csproj | 2 +- ...Furion.Extras.DependencyModel.CodeAnalysis.csproj | 2 +- .../Furion.Extras.Logging.Serilog.csproj | 2 +- .../Furion.Extras.ObjectMapper.Mapster.csproj | 2 +- ...n.Pure.Extras.DependencyModel.CodeAnalysis.csproj | 2 +- framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj | 4 ++-- framework/Furion.Pure/Furion.Pure.csproj | 8 ++++---- framework/Furion.Xunit/Furion.Xunit.csproj | 4 ++-- framework/Furion/Furion.csproj | 8 ++++---- handbook/build/404.html | 8 ++++---- .../{00ee0bc9.7a4b628d.js => 00ee0bc9.4146d04b.js} | 2 +- handbook/build/assets/js/4c79e569.77d00899.js | 1 - handbook/build/assets/js/4c79e569.c18d90f3.js | 1 + .../{4f2c41ae.83b1f847.js => 4f2c41ae.bbd29813.js} | 2 +- .../{698c3fb7.5c68665d.js => 698c3fb7.25785c3d.js} | 2 +- .../{ace43ec3.4820b927.js => ace43ec3.defbb111.js} | 2 +- .../{c4f5d8e4.3c00b3a9.js => c4f5d8e4.183eb143.js} | 2 +- .../{d22033f9.43087bef.js => d22033f9.e72e4859.js} | 2 +- .../assets/js/{main.605ab9e9.js => main.076f3757.js} | 4 ++-- ...9.js.LICENSE.txt => main.076f3757.js.LICENSE.txt} | 0 ...ime~main.d216287b.js => runtime~main.605e0a51.js} | 2 +- handbook/build/blog/archive/index.html | 8 ++++---- handbook/build/blog/console/index.html | 8 ++++---- handbook/build/blog/fileupload-download/index.html | 8 ++++---- handbook/build/blog/global-usings/index.html | 8 ++++---- handbook/build/blog/httpcontext/index.html | 8 ++++---- handbook/build/blog/index.html | 8 ++++---- handbook/build/blog/net6-preview5/index.html | 8 ++++---- handbook/build/blog/net6-preview6/index.html | 8 ++++---- handbook/build/blog/net6-preview7/index.html | 8 ++++---- handbook/build/blog/tags/download/index.html | 8 ++++---- handbook/build/blog/tags/furion/index.html | 8 ++++---- handbook/build/blog/tags/furos/index.html | 8 ++++---- handbook/build/blog/tags/httpcontext/index.html | 8 ++++---- handbook/build/blog/tags/index.html | 8 ++++---- handbook/build/blog/tags/net-5/index.html | 8 ++++---- handbook/build/blog/tags/net-6/index.html | 8 ++++---- handbook/build/blog/tags/net/index.html | 8 ++++---- handbook/build/blog/tags/netcore/index.html | 8 ++++---- handbook/build/blog/tags/upload/index.html | 8 ++++---- handbook/build/docs/appstartup/index.html | 10 +++++----- handbook/build/docs/audit/index.html | 8 ++++---- handbook/build/docs/auth-control/index.html | 10 +++++----- handbook/build/docs/author/index.html | 8 ++++---- handbook/build/docs/benchmark/index.html | 10 +++++----- handbook/build/docs/bingfa/index.html | 10 +++++----- handbook/build/docs/cache/index.html | 8 ++++---- handbook/build/docs/case/index.html | 10 +++++----- handbook/build/docs/clayobj/index.html | 10 +++++----- handbook/build/docs/clientapi/index.html | 10 +++++----- handbook/build/docs/component/index.html | 10 +++++----- handbook/build/docs/configuration/index.html | 10 +++++----- handbook/build/docs/contribute/index.html | 10 +++++----- handbook/build/docs/cors/index.html | 10 +++++----- handbook/build/docs/course/index.html | 10 +++++----- handbook/build/docs/dapper/index.html | 10 +++++----- handbook/build/docs/data-validation/index.html | 8 ++++---- handbook/build/docs/dbcontext-Interceptor/index.html | 10 +++++----- .../build/docs/dbcontext-add-or-update/index.html | 10 +++++----- handbook/build/docs/dbcontext-add/index.html | 10 +++++----- handbook/build/docs/dbcontext-audit/index.html | 10 +++++----- handbook/build/docs/dbcontext-batch/index.html | 10 +++++----- handbook/build/docs/dbcontext-code-first/index.html | 10 +++++----- handbook/build/docs/dbcontext-db-first/index.html | 8 ++++---- handbook/build/docs/dbcontext-delete/index.html | 10 +++++----- .../build/docs/dbcontext-entitytrigger/index.html | 8 ++++---- handbook/build/docs/dbcontext-filter/index.html | 8 ++++---- handbook/build/docs/dbcontext-function/index.html | 8 ++++---- handbook/build/docs/dbcontext-hight-query/index.html | 10 +++++----- handbook/build/docs/dbcontext-locator/index.html | 10 +++++----- .../build/docs/dbcontext-multi-database/index.html | 10 +++++----- handbook/build/docs/dbcontext-proc/index.html | 8 ++++---- handbook/build/docs/dbcontext-query/index.html | 10 +++++----- handbook/build/docs/dbcontext-read-write/index.html | 10 +++++----- handbook/build/docs/dbcontext-repository/index.html | 10 +++++----- handbook/build/docs/dbcontext-seed-data/index.html | 10 +++++----- handbook/build/docs/dbcontext-sql-proxy/index.html | 10 +++++----- .../build/docs/dbcontext-sql-template/index.html | 10 +++++----- handbook/build/docs/dbcontext-sql/index.html | 10 +++++----- handbook/build/docs/dbcontext-start/index.html | 8 ++++---- handbook/build/docs/dbcontext-update/index.html | 10 +++++----- handbook/build/docs/dbcontext-view/index.html | 10 +++++----- handbook/build/docs/dbcontext/index.html | 8 ++++---- handbook/build/docs/dependency-injection/index.html | 10 +++++----- handbook/build/docs/deploy-docker-auto/index.html | 10 +++++----- handbook/build/docs/deploy-docker/index.html | 8 ++++---- handbook/build/docs/deploy-iis/index.html | 10 +++++----- handbook/build/docs/deploy-nginx/index.html | 10 +++++----- handbook/build/docs/devops/index.html | 10 +++++----- handbook/build/docs/donate/index.html | 10 +++++----- handbook/build/docs/dotnet-tools/index.html | 10 +++++----- .../build/docs/dynamic-api-controller/index.html | 8 ++++---- handbook/build/docs/efcore-recommend/index.html | 8 ++++---- handbook/build/docs/encryption/index.html | 10 +++++----- handbook/build/docs/entity/index.html | 8 ++++---- handbook/build/docs/event-bus-old/index.html | 8 ++++---- handbook/build/docs/event-bus/index.html | 10 +++++----- handbook/build/docs/file-provider/index.html | 8 ++++---- handbook/build/docs/filter/index.html | 10 +++++----- handbook/build/docs/friendly-exception/index.html | 10 +++++----- handbook/build/docs/get-start-net6/index.html | 10 +++++----- handbook/build/docs/get-start-net7/index.html | 10 +++++----- handbook/build/docs/get-start/index.html | 8 ++++---- handbook/build/docs/global/app/index.html | 10 +++++----- handbook/build/docs/global/datavalidator/index.html | 10 +++++----- handbook/build/docs/global/db/index.html | 10 +++++----- handbook/build/docs/global/fs/index.html | 10 +++++----- handbook/build/docs/global/json/index.html | 10 +++++----- handbook/build/docs/global/jsonserializer/index.html | 10 +++++----- handbook/build/docs/global/jwt/index.html | 10 +++++----- handbook/build/docs/global/l/index.html | 8 ++++---- handbook/build/docs/global/linqexpression/index.html | 10 +++++----- handbook/build/docs/global/messagecenter/index.html | 10 +++++----- handbook/build/docs/global/oops/index.html | 10 +++++----- handbook/build/docs/global/scoped/index.html | 10 +++++----- handbook/build/docs/global/shttp/index.html | 8 ++++---- handbook/build/docs/global/sparetime/index.html | 10 +++++----- handbook/build/docs/global/tp/index.html | 10 +++++----- handbook/build/docs/globalusing/index.html | 10 +++++----- handbook/build/docs/http/index.html | 10 +++++----- handbook/build/docs/httpcontext/index.html | 10 +++++----- handbook/build/docs/idgenerator/index.html | 10 +++++----- handbook/build/docs/index.html | 8 ++++---- handbook/build/docs/inject/index.html | 8 ++++---- handbook/build/docs/ipc/index.html | 10 +++++----- handbook/build/docs/job/index.html | 10 +++++----- handbook/build/docs/json-serialization/index.html | 10 +++++----- handbook/build/docs/jsonschema/index.html | 8 ++++---- handbook/build/docs/local-language/index.html | 8 ++++---- handbook/build/docs/logging/index.html | 8 ++++---- handbook/build/docs/middleware/index.html | 10 +++++----- handbook/build/docs/module-dev/index.html | 10 +++++----- handbook/build/docs/mongodb/index.html | 10 +++++----- handbook/build/docs/net5-to-net6/index.html | 10 +++++----- handbook/build/docs/net6-to-net7/index.html | 10 +++++----- handbook/build/docs/nuget-local/index.html | 10 +++++----- handbook/build/docs/object-mapper/index.html | 10 +++++----- handbook/build/docs/options/index.html | 8 ++++---- handbook/build/docs/performance/index.html | 8 ++++---- handbook/build/docs/pillar-of-humiliation/index.html | 8 ++++---- handbook/build/docs/pm2/index.html | 10 +++++----- handbook/build/docs/position/index.html | 8 ++++---- handbook/build/docs/process-service/index.html | 10 +++++----- handbook/build/docs/reference/index.html | 10 +++++----- handbook/build/docs/saas/index.html | 10 +++++----- handbook/build/docs/sensitive-detection/index.html | 8 ++++---- handbook/build/docs/serverun/index.html | 10 +++++----- handbook/build/docs/sesssion-state/index.html | 10 +++++----- handbook/build/docs/settings/appsettings/index.html | 10 +++++----- .../docs/settings/corsaccessorsettings/index.html | 8 ++++---- .../settings/dependencyinjectionsettings/index.html | 8 ++++---- .../settings/dynamicapicontrollersettings/index.html | 10 +++++----- .../settings/friendlyexceptionsettings/index.html | 10 +++++----- handbook/build/docs/settings/jwtsettings/index.html | 10 +++++----- .../docs/settings/localizationsettings/index.html | 10 +++++----- .../specificationdocumentsettings/index.html | 10 +++++----- .../docs/settings/unifyresultsettings/index.html | 8 ++++---- .../validationTypemessagesettings/index.html | 10 +++++----- handbook/build/docs/signalr/index.html | 8 ++++---- handbook/build/docs/singlefile/index.html | 10 +++++----- handbook/build/docs/source/index.html | 10 +++++----- .../build/docs/specification-document/index.html | 10 +++++----- handbook/build/docs/split-db/index.html | 10 +++++----- handbook/build/docs/sqlsugar-old/index.html | 8 ++++---- handbook/build/docs/sqlsugar/index.html | 8 ++++---- handbook/build/docs/target/index.html | 10 +++++----- handbook/build/docs/template/index.html | 10 +++++----- handbook/build/docs/tran/index.html | 10 +++++----- handbook/build/docs/unittest/index.html | 10 +++++----- handbook/build/docs/upgrade/index.html | 12 ++++++------ handbook/build/docs/view-engine/index.html | 10 +++++----- handbook/build/docs/virtual-deploy/index.html | 10 +++++----- handbook/build/docs/vsfast/index.html | 10 +++++----- handbook/build/index.html | 10 +++++----- handbook/build/search-index.json | 2 +- handbook/build/search/index.html | 8 ++++---- handbook/docs/donate.mdx | 4 ++-- handbook/docs/net5-to-net6.mdx | 2 +- handbook/docs/net6-to-net7.mdx | 2 +- handbook/docs/template.mdx | 4 ++-- handbook/docs/upgrade.mdx | 3 ++- handbook/package.json | 2 +- handbook/src/pages/index.js | 4 ++-- samples/Furion.Core/Furion.Core.csproj | 4 ++-- .../FurionApiTemplate/Furion.Template.Api.nuspec | 2 +- .../src/FurionApi.Core/FurionApi.Core.csproj | 6 +++--- .../FurionAppTemplate/Furion.Template.App.nuspec | 2 +- .../src/FurionApp.Core/FurionApp.Core.csproj | 6 +++--- .../Furion.Template.Blazor.nuspec | 2 +- .../src/FurionBlazor.Core/FurionBlazor.Core.csproj | 4 ++-- .../Furion.Template.BlazorWithWebApi.nuspec | 2 +- .../FurionBlazorApi.Core/FurionBlazorApi.Core.csproj | 6 +++--- .../FurionMvcTemplate/Furion.Template.Mvc.nuspec | 2 +- .../src/FurionMvc.Core/FurionMvc.Core.csproj | 4 ++-- .../FurionRazorTemplate/Furion.Template.Razor.nuspec | 2 +- .../src/FurionRazor.Core/FurionRazor.Core.csproj | 4 ++-- .../Furion.Template.RazorWithWebApi.nuspec | 2 +- .../FurionRazorApi.Core/FurionRazorApi.Core.csproj | 6 +++--- .../FurionApiTemplate/Furion.Template.Api.nuspec | 2 +- .../src/FurionApi.Core/FurionApi.Core.csproj | 6 +++--- .../FurionAppTemplate/Furion.Template.App.nuspec | 2 +- .../src/FurionApp.Core/FurionApp.Core.csproj | 6 +++--- .../Furion.Template.Blazor.nuspec | 2 +- .../src/FurionBlazor.Core/FurionBlazor.Core.csproj | 4 ++-- .../Furion.Template.BlazorWithWebApi.nuspec | 2 +- .../FurionBlazorApi.Core/FurionBlazorApi.Core.csproj | 6 +++--- .../FurionMvcTemplate/Furion.Template.Mvc.nuspec | 2 +- .../src/FurionMvc.Core/FurionMvc.Core.csproj | 4 ++-- .../FurionRazorTemplate/Furion.Template.Razor.nuspec | 2 +- .../src/FurionRazor.Core/FurionRazor.Core.csproj | 4 ++-- .../Furion.Template.RazorWithWebApi.nuspec | 2 +- .../FurionRazorApi.Core/FurionRazorApi.Core.csproj | 6 +++--- .../Furion.Tools.CommandLine.csproj | 2 +- tools/Furion.Tools/Furion.Tools/Furion.Tools.csproj | 4 ++-- tools/cli.ps1 | 2 +- 218 files changed, 817 insertions(+), 816 deletions(-) rename handbook/build/assets/js/{00ee0bc9.7a4b628d.js => 00ee0bc9.4146d04b.js} (99%) delete mode 100644 handbook/build/assets/js/4c79e569.77d00899.js create mode 100644 handbook/build/assets/js/4c79e569.c18d90f3.js rename handbook/build/assets/js/{4f2c41ae.83b1f847.js => 4f2c41ae.bbd29813.js} (99%) rename handbook/build/assets/js/{698c3fb7.5c68665d.js => 698c3fb7.25785c3d.js} (99%) rename handbook/build/assets/js/{ace43ec3.4820b927.js => ace43ec3.defbb111.js} (99%) rename handbook/build/assets/js/{c4f5d8e4.3c00b3a9.js => c4f5d8e4.183eb143.js} (99%) rename handbook/build/assets/js/{d22033f9.43087bef.js => d22033f9.e72e4859.js} (99%) rename handbook/build/assets/js/{main.605ab9e9.js => main.076f3757.js} (99%) rename handbook/build/assets/js/{main.605ab9e9.js.LICENSE.txt => main.076f3757.js.LICENSE.txt} (100%) rename handbook/build/assets/js/{runtime~main.d216287b.js => runtime~main.605e0a51.js} (96%) diff --git a/framework/Furion.Extras.Authentication.JwtBearer/Furion.Extras.Authentication.JwtBearer.csproj b/framework/Furion.Extras.Authentication.JwtBearer/Furion.Extras.Authentication.JwtBearer.csproj index 0f35358cfc..63977ff229 100644 --- a/framework/Furion.Extras.Authentication.JwtBearer/Furion.Extras.Authentication.JwtBearer.csproj +++ b/framework/Furion.Extras.Authentication.JwtBearer/Furion.Extras.Authentication.JwtBearer.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion Jwt 授权验证拓展插件。 enable diff --git a/framework/Furion.Extras.DatabaseAccessor.Dapper/Furion.Extras.DatabaseAccessor.Dapper.csproj b/framework/Furion.Extras.DatabaseAccessor.Dapper/Furion.Extras.DatabaseAccessor.Dapper.csproj index 71ef803a21..597a31f918 100644 --- a/framework/Furion.Extras.DatabaseAccessor.Dapper/Furion.Extras.DatabaseAccessor.Dapper.csproj +++ b/framework/Furion.Extras.DatabaseAccessor.Dapper/Furion.Extras.DatabaseAccessor.Dapper.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 数据库访问器 Dapper 插件。 enable diff --git a/framework/Furion.Extras.DatabaseAccessor.MongoDB/Furion.Extras.DatabaseAccessor.MongoDB.csproj b/framework/Furion.Extras.DatabaseAccessor.MongoDB/Furion.Extras.DatabaseAccessor.MongoDB.csproj index c5ab23637f..a6c9e1e22a 100644 --- a/framework/Furion.Extras.DatabaseAccessor.MongoDB/Furion.Extras.DatabaseAccessor.MongoDB.csproj +++ b/framework/Furion.Extras.DatabaseAccessor.MongoDB/Furion.Extras.DatabaseAccessor.MongoDB.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 数据库访问器 MongoDB 插件。 enable diff --git a/framework/Furion.Extras.DatabaseAccessor.SqlSugar/Furion.Extras.DatabaseAccessor.SqlSugar.csproj b/framework/Furion.Extras.DatabaseAccessor.SqlSugar/Furion.Extras.DatabaseAccessor.SqlSugar.csproj index 1ad0812407..59e143d0b4 100644 --- a/framework/Furion.Extras.DatabaseAccessor.SqlSugar/Furion.Extras.DatabaseAccessor.SqlSugar.csproj +++ b/framework/Furion.Extras.DatabaseAccessor.SqlSugar/Furion.Extras.DatabaseAccessor.SqlSugar.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 数据库访问器 SqlSugar 插件。 enable diff --git a/framework/Furion.Extras.DependencyModel.CodeAnalysis/Furion.Extras.DependencyModel.CodeAnalysis.csproj b/framework/Furion.Extras.DependencyModel.CodeAnalysis/Furion.Extras.DependencyModel.CodeAnalysis.csproj index 71c7438775..4051cb3695 100644 --- a/framework/Furion.Extras.DependencyModel.CodeAnalysis/Furion.Extras.DependencyModel.CodeAnalysis.csproj +++ b/framework/Furion.Extras.DependencyModel.CodeAnalysis/Furion.Extras.DependencyModel.CodeAnalysis.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 程序集扫描和代码分析拓展插件。 enable diff --git a/framework/Furion.Extras.Logging.Serilog/Furion.Extras.Logging.Serilog.csproj b/framework/Furion.Extras.Logging.Serilog/Furion.Extras.Logging.Serilog.csproj index 25cd084492..f19ca93df5 100644 --- a/framework/Furion.Extras.Logging.Serilog/Furion.Extras.Logging.Serilog.csproj +++ b/framework/Furion.Extras.Logging.Serilog/Furion.Extras.Logging.Serilog.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 日志记录 Serilog 插件。 enable 0618 diff --git a/framework/Furion.Extras.ObjectMapper.Mapster/Furion.Extras.ObjectMapper.Mapster.csproj b/framework/Furion.Extras.ObjectMapper.Mapster/Furion.Extras.ObjectMapper.Mapster.csproj index 60f3ae82d9..9fe339daae 100644 --- a/framework/Furion.Extras.ObjectMapper.Mapster/Furion.Extras.ObjectMapper.Mapster.csproj +++ b/framework/Furion.Extras.ObjectMapper.Mapster/Furion.Extras.ObjectMapper.Mapster.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 对象映射 Mapster 插件。 enable diff --git a/framework/Furion.Pure.Extras.DependencyModel.CodeAnalysis/Furion.Pure.Extras.DependencyModel.CodeAnalysis.csproj b/framework/Furion.Pure.Extras.DependencyModel.CodeAnalysis/Furion.Pure.Extras.DependencyModel.CodeAnalysis.csproj index ac2d8dde4b..73f185cbcf 100644 --- a/framework/Furion.Pure.Extras.DependencyModel.CodeAnalysis/Furion.Pure.Extras.DependencyModel.CodeAnalysis.csproj +++ b/framework/Furion.Pure.Extras.DependencyModel.CodeAnalysis/Furion.Pure.Extras.DependencyModel.CodeAnalysis.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 程序集扫描和代码分析拓展插件。 enable diff --git a/framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj b/framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj index 884609f67b..7d3aaf8ac9 100644 --- a/framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj +++ b/framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj @@ -2,13 +2,13 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion 纯净版 Xunit 单元测试拓展插件。 enable - + diff --git a/framework/Furion.Pure/Furion.Pure.csproj b/framework/Furion.Pure/Furion.Pure.csproj index aced403573..744bc35d71 100644 --- a/framework/Furion.Pure/Furion.Pure.csproj +++ b/framework/Furion.Pure/Furion.Pure.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 让 .NET 开发更简单,更通用,更流行。 true enable @@ -26,19 +26,19 @@ - + - + - + diff --git a/framework/Furion.Xunit/Furion.Xunit.csproj b/framework/Furion.Xunit/Furion.Xunit.csproj index 2424d445f0..a218032e94 100644 --- a/framework/Furion.Xunit/Furion.Xunit.csproj +++ b/framework/Furion.Xunit/Furion.Xunit.csproj @@ -2,13 +2,13 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 Furion Xunit 单元测试拓展插件。 enable - + diff --git a/framework/Furion/Furion.csproj b/framework/Furion/Furion.csproj index 697c42e05b..4d7036b50d 100644 --- a/framework/Furion/Furion.csproj +++ b/framework/Furion/Furion.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.6.6 + 4.6.7 让 .NET 开发更简单,更通用,更流行。 true enable @@ -26,19 +26,19 @@ - + - + - + diff --git a/handbook/build/404.html b/handbook/build/404.html index 7286c51398..38fa9d03d3 100644 --- a/handbook/build/404.html +++ b/handbook/build/404.html @@ -5,13 +5,13 @@ Page Not Found | Furion - - + +
⭐️ .NET 要在国内真正发展起来,必须得有一些追逐梦想的人在做着不计付出的事情,而我希望自己能贡献一份微薄之力。 ⭐️

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/handbook/build/assets/js/00ee0bc9.7a4b628d.js b/handbook/build/assets/js/00ee0bc9.4146d04b.js similarity index 99% rename from handbook/build/assets/js/00ee0bc9.7a4b628d.js rename to handbook/build/assets/js/00ee0bc9.4146d04b.js index 2185e2e332..71f063ed09 100644 --- a/handbook/build/assets/js/00ee0bc9.7a4b628d.js +++ b/handbook/build/assets/js/00ee0bc9.4146d04b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[6792],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),s=c(n),m=o,k=s["".concat(l,".").concat(m)]||s[m]||u[m]||i;return n?r.createElement(k,a(a({ref:t},d),{},{components:n})):r.createElement(k,a({ref:t},d))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=s;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:o,a[1]=p;for(var c=2;c.NET6 SDK",id:"2511-\u5b89\u88c5-net6-sdk",level:3},{value:"2.5.1.2 \u7f16\u8f91 .csproj \u6587\u4ef6",id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6",level:3},{value:"2.5.1.3 \u5347\u7ea7 Nuget \u5305",id:"2513-\u5347\u7ea7-nuget-\u5305",level:3},{value:"2.5.1.4 \u5220\u9664 Startup.cs \u6587\u4ef6",id:"2514-\u5220\u9664-startupcs-\u6587\u4ef6",level:3},{value:"2.5.1.5 \u7f16\u8f91 Web \u542f\u52a8\u5c42 .csproj",id:"2515-\u7f16\u8f91-web-\u542f\u52a8\u5c42-csproj",level:3},{value:"2.5.1.6 \u66ff\u6362 Program.cs \u5185\u5bb9\u4e3a\uff1a",id:"2516-\u66ff\u6362-programcs-\u5185\u5bb9\u4e3a",level:3},{value:"2.5.1.7 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",id:"2517-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",level:3}],m={toc:s};function k(e){var t=e.components,n=(0,o.Z)(e,p);return(0,i.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"251-\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"},"2.5.1 \u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"\u76ee\u524d\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6240\u6709\u7248\u672c\uff080.x-3.x\uff09\u7684\u7528\u6237\u5747\u53ef\u4ee5\u5feb\u901f\u65e0\u7f1d\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion v4.x")," \u7248\u672c\uff0c\u53ea\u9700\u8981\u505a\u5c11\u91cf\u66f4\u6539\u5373\u53ef\u3002")),(0,i.kt)("h3",{id:"2511-\u5b89\u88c5-net6-sdk"},"2.5.1.1 \u5b89\u88c5 ",(0,i.kt)("inlineCode",{parentName:"h3"},".NET6 SDK")),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://dotnet.microsoft.com/download/dotnet/6.0"},"https://dotnet.microsoft.com/download/dotnet/6.0")),(0,i.kt)("h3",{id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6"},"2.5.1.2 \u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"h3"},".csproj")," \u6587\u4ef6"),(0,i.kt)("p",null,"\u7f16\u8f91\u89e3\u51b3\u65b9\u6848\u6240\u6709\u9879\u76ee\u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\uff0c\u5e76\u66ff\u6362 ",(0,i.kt)("inlineCode",{parentName:"p"},"net5.0")," \u4e3a ",(0,i.kt)("inlineCode",{parentName:"p"},"net6.0"),"\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl1.png")}),(0,i.kt)("p",null,"\u5f53\u7136\u4e5f\u53ef\u4ee5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Ctrl + F")," \u5168\u5c40\u66ff\u6362"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl2.png")}),(0,i.kt)("h3",{id:"2513-\u5347\u7ea7-nuget-\u5305"},"2.5.1.3 \u5347\u7ea7 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Nuget")," \u5305"),(0,i.kt)("p",null,"\u5c06 ",(0,i.kt)("inlineCode",{parentName:"p"},"Furion")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v4.6.6")," \u7248\u672c\uff0c\u540c\u65f6 ",(0,i.kt)("inlineCode",{parentName:"p"},"Microsoft")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v6.0.8")," \u7248\u672c\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl3.png")}),(0,i.kt)("h3",{id:"2514-\u5220\u9664-startupcs-\u6587\u4ef6"},"2.5.1.4 \u5220\u9664 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Startup.cs")," \u6587\u4ef6"),(0,i.kt)("p",null,"\u5220\u9664 ",(0,i.kt)("inlineCode",{parentName:"p"},"Web \u542f\u52a8\u5c42")," \u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u6587\u4ef6\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl4.png")}),(0,i.kt)("h3",{id:"2515-\u7f16\u8f91-web-\u542f\u52a8\u5c42-csproj"},"2.5.1.5 \u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Web")," \u542f\u52a8\u5c42 ",(0,i.kt)("inlineCode",{parentName:"h3"},".csproj")),(0,i.kt)("p",null,"\u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"p"},"Web")," \u542f\u52a8\u5c42 ",(0,i.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\uff0c\u5e76\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"p"},"enable"),"\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl5.png")}),(0,i.kt)("h3",{id:"2516-\u66ff\u6362-programcs-\u5185\u5bb9\u4e3a"},"2.5.1.6 \u66ff\u6362 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Program.cs")," \u5185\u5bb9\u4e3a\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"var builder = WebApplication.CreateBuilder(args).Inject();\nvar app = builder.Build();\napp.Run();\n")),(0,i.kt)("admonition",{title:"v3.6.4+ \u7248\u672c",type:"important"},(0,i.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Furion 3.6.4+")," \u7248\u672c\uff0c\u53ef\u76f4\u63a5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Serve.Run(RunOptions.Default);")," \u66ff\u4ee3\u4e0a\u9762\u5373\u53ef\u3002")),(0,i.kt)("admonition",{title:"\u5c0f\u63d0\u9192",type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528\u4e86 ",(0,i.kt)("inlineCode",{parentName:"p"},"Serilog")," \u65e5\u5fd7\u7ec4\u4ef6\uff0c\u53ef\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"p"},"builder.UseSerilogDefault();")),(0,i.kt)("p",{parentName:"admonition"},"\u4e5f\u53ef\u4ee5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Serve.Run(RunOptions.Default.ConfigureBuilder(builder => builder.UseSerilogDefault()));"),"\u3002"),(0,i.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528\u4e86 ",(0,i.kt)("inlineCode",{parentName:"p"},"pgsql")," \u6570\u636e\u5e93\uff0c\u4f60\u8fd8\u53ef\u80fd\u9700\u8981\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"p"},'AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);'),"\n=> ",(0,i.kt)("a",{parentName:"p",href:"https://www.npgsql.org/doc/types/datetime.html"},"\u76f8\u5173\u8bf4\u660e\uff1a\u5728 .NET6 \u4e2d Npgsql 6.0 \u5bf9\u65f6\u95f4\u6233\u7684\u6620\u5c04\u65b9\u5f0f\u8fdb\u884c\u4e86\u4e00\u4e9b\u91cd\u8981\u7684\u66f4\u6539\u3002"))),(0,i.kt)("img",{src:(0,a.Z)("img/sjl6.png")}),(0,i.kt)("h3",{id:"2517-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"},"2.5.1.7 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"),(0,i.kt)("p",null,"\u5347\u7ea7\u5b8c\u6210\uff01\uff01\uff01"))}k.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[6792],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),s=c(n),m=o,k=s["".concat(l,".").concat(m)]||s[m]||u[m]||i;return n?r.createElement(k,a(a({ref:t},d),{},{components:n})):r.createElement(k,a({ref:t},d))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=s;var p={};for(var l in t)hasOwnProperty.call(t,l)&&(p[l]=t[l]);p.originalType=e,p.mdxType="string"==typeof e?e:o,a[1]=p;for(var c=2;c.NET6 SDK",id:"2511-\u5b89\u88c5-net6-sdk",level:3},{value:"2.5.1.2 \u7f16\u8f91 .csproj \u6587\u4ef6",id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6",level:3},{value:"2.5.1.3 \u5347\u7ea7 Nuget \u5305",id:"2513-\u5347\u7ea7-nuget-\u5305",level:3},{value:"2.5.1.4 \u5220\u9664 Startup.cs \u6587\u4ef6",id:"2514-\u5220\u9664-startupcs-\u6587\u4ef6",level:3},{value:"2.5.1.5 \u7f16\u8f91 Web \u542f\u52a8\u5c42 .csproj",id:"2515-\u7f16\u8f91-web-\u542f\u52a8\u5c42-csproj",level:3},{value:"2.5.1.6 \u66ff\u6362 Program.cs \u5185\u5bb9\u4e3a\uff1a",id:"2516-\u66ff\u6362-programcs-\u5185\u5bb9\u4e3a",level:3},{value:"2.5.1.7 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",id:"2517-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",level:3}],m={toc:s};function k(e){var t=e.components,n=(0,o.Z)(e,p);return(0,i.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"251-\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"},"2.5.1 \u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"\u76ee\u524d\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6240\u6709\u7248\u672c\uff080.x-3.x\uff09\u7684\u7528\u6237\u5747\u53ef\u4ee5\u5feb\u901f\u65e0\u7f1d\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion v4.x")," \u7248\u672c\uff0c\u53ea\u9700\u8981\u505a\u5c11\u91cf\u66f4\u6539\u5373\u53ef\u3002")),(0,i.kt)("h3",{id:"2511-\u5b89\u88c5-net6-sdk"},"2.5.1.1 \u5b89\u88c5 ",(0,i.kt)("inlineCode",{parentName:"h3"},".NET6 SDK")),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://dotnet.microsoft.com/download/dotnet/6.0"},"https://dotnet.microsoft.com/download/dotnet/6.0")),(0,i.kt)("h3",{id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6"},"2.5.1.2 \u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"h3"},".csproj")," \u6587\u4ef6"),(0,i.kt)("p",null,"\u7f16\u8f91\u89e3\u51b3\u65b9\u6848\u6240\u6709\u9879\u76ee\u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\uff0c\u5e76\u66ff\u6362 ",(0,i.kt)("inlineCode",{parentName:"p"},"net5.0")," \u4e3a ",(0,i.kt)("inlineCode",{parentName:"p"},"net6.0"),"\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl1.png")}),(0,i.kt)("p",null,"\u5f53\u7136\u4e5f\u53ef\u4ee5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Ctrl + F")," \u5168\u5c40\u66ff\u6362"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl2.png")}),(0,i.kt)("h3",{id:"2513-\u5347\u7ea7-nuget-\u5305"},"2.5.1.3 \u5347\u7ea7 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Nuget")," \u5305"),(0,i.kt)("p",null,"\u5c06 ",(0,i.kt)("inlineCode",{parentName:"p"},"Furion")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v4.6.7")," \u7248\u672c\uff0c\u540c\u65f6 ",(0,i.kt)("inlineCode",{parentName:"p"},"Microsoft")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v6.0.8")," \u7248\u672c\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl3.png")}),(0,i.kt)("h3",{id:"2514-\u5220\u9664-startupcs-\u6587\u4ef6"},"2.5.1.4 \u5220\u9664 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Startup.cs")," \u6587\u4ef6"),(0,i.kt)("p",null,"\u5220\u9664 ",(0,i.kt)("inlineCode",{parentName:"p"},"Web \u542f\u52a8\u5c42")," \u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u6587\u4ef6\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl4.png")}),(0,i.kt)("h3",{id:"2515-\u7f16\u8f91-web-\u542f\u52a8\u5c42-csproj"},"2.5.1.5 \u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Web")," \u542f\u52a8\u5c42 ",(0,i.kt)("inlineCode",{parentName:"h3"},".csproj")),(0,i.kt)("p",null,"\u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"p"},"Web")," \u542f\u52a8\u5c42 ",(0,i.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\uff0c\u5e76\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"p"},"enable"),"\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/sjl5.png")}),(0,i.kt)("h3",{id:"2516-\u66ff\u6362-programcs-\u5185\u5bb9\u4e3a"},"2.5.1.6 \u66ff\u6362 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Program.cs")," \u5185\u5bb9\u4e3a\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"var builder = WebApplication.CreateBuilder(args).Inject();\nvar app = builder.Build();\napp.Run();\n")),(0,i.kt)("admonition",{title:"v3.6.4+ \u7248\u672c",type:"important"},(0,i.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Furion 3.6.4+")," \u7248\u672c\uff0c\u53ef\u76f4\u63a5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Serve.Run(RunOptions.Default);")," \u66ff\u4ee3\u4e0a\u9762\u5373\u53ef\u3002")),(0,i.kt)("admonition",{title:"\u5c0f\u63d0\u9192",type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528\u4e86 ",(0,i.kt)("inlineCode",{parentName:"p"},"Serilog")," \u65e5\u5fd7\u7ec4\u4ef6\uff0c\u53ef\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"p"},"builder.UseSerilogDefault();")),(0,i.kt)("p",{parentName:"admonition"},"\u4e5f\u53ef\u4ee5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Serve.Run(RunOptions.Default.ConfigureBuilder(builder => builder.UseSerilogDefault()));"),"\u3002"),(0,i.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528\u4e86 ",(0,i.kt)("inlineCode",{parentName:"p"},"pgsql")," \u6570\u636e\u5e93\uff0c\u4f60\u8fd8\u53ef\u80fd\u9700\u8981\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"p"},'AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);'),"\n=> ",(0,i.kt)("a",{parentName:"p",href:"https://www.npgsql.org/doc/types/datetime.html"},"\u76f8\u5173\u8bf4\u660e\uff1a\u5728 .NET6 \u4e2d Npgsql 6.0 \u5bf9\u65f6\u95f4\u6233\u7684\u6620\u5c04\u65b9\u5f0f\u8fdb\u884c\u4e86\u4e00\u4e9b\u91cd\u8981\u7684\u66f4\u6539\u3002"))),(0,i.kt)("img",{src:(0,a.Z)("img/sjl6.png")}),(0,i.kt)("h3",{id:"2517-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"},"2.5.1.7 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"),(0,i.kt)("p",null,"\u5347\u7ea7\u5b8c\u6210\uff01\uff01\uff01"))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/handbook/build/assets/js/4c79e569.77d00899.js b/handbook/build/assets/js/4c79e569.77d00899.js deleted file mode 100644 index 4dc367164d..0000000000 --- a/handbook/build/assets/js/4c79e569.77d00899.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[8707],{3905:function(e,t,a){a.d(t,{Zo:function(){return k},kt:function(){return N}});var n=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var m=n.createContext({}),o=function(e){var t=n.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},k=function(e){var t=o(e.components);return n.createElement(m.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,m=e.parentName,k=p(e,["components","mdxType","originalType","parentName"]),u=o(a),N=i,d=u["".concat(m,".").concat(N)]||u[N]||s[N]||r;return a?n.createElement(d,l(l({ref:t},k),{},{components:a})):n.createElement(d,l({ref:t},k))}));function N(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,l=new Array(r);l[0]=u;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p.mdxType="string"==typeof e?e:i,l[1]=p;for(var o=2;o ctx.Set("Name", "Furion").Set("UserId", 10))\n .LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n')),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},'using (var scope = _logger.ScopeContext(ctx => ctx.Set("Name", "Furion").Set("UserId", 10)))\n{\n _logger.LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n}\n\n// \u4e5f\u53ef\u4ee5\u7b80\u5199\nusing var scope = _logger.ScopeContext(ctx => ctx.Set("Name", "Furion").Set("UserId", 10));\n_logger.LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("strong",{parentName:"del"},"\u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"strong"},".SetTimeout")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"[Timeout]")," \u914d\u7f6e\u65b9\u6cd5\uff0c\u91c7\u7528\u5168\u5c40\u7edf\u4e00\u914d\u7f6e"))," ",(0,l.kt)("sup",null,"4.6.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c"},"7384c9c"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"HttpClient")," \u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"100\u79d2"),"\uff0c\u53ef\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8bbe\u7f6e\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,10}",showLineNumbers:!0,"{4,10}":!0},'// \u914d\u7f6e\u9ed8\u8ba4 HttpClient\noptions.AddHttpClient(string.Empty, c =>\n{\n c.Timeout = TimeSpan.FromMinutes(2);\n});\n\n// \u914d\u7f6e\u7279\u5b9a\u5ba2\u6237\u7aef\noptions.AddHttpClient("github", c =>\n{\n c.Timeout = TimeSpan.FromMinutes(2);\n});\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"4.5.9+")," \u7248\u672c\u65b0\u589e\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"IncludeScopes")," \u914d\u7f6e\u5bfc\u81f4\u65e5\u5fd7\u4e0a\u4e0b\u6587\u5931\u6548 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a768415bb2effe47f1a6e12de0773d3bbd6f75c"},"4a76841")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u5171\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbParameters")," \u51fa\u73b0\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UO2H"},"#I5UO2H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9ad8\u9891\u7387\u5199\u5165\u65e5\u5fd7\u5bfc\u81f4\u5806\u5185\u5b58\u6ea2\u51fa\u7684\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UJRS"},"#I5UJRS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u5185\u90e8\u6240\u6709\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},".CreateLogger")," \u521b\u5efa\u7684\u65e5\u5fd7\u5bf9\u8c61\u65e0\u6cd5\u5e94\u7528\u4e0a\u4e0b\u6587\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ec4838c218ed9c96ba92d7a80fd11539da59ca22"},"ec4838c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8fdc\u7a0b\u8bf7\u6c42\u4e0d\u80fd\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Serivce")," \u4e2d\u8fdb\u884c\u6784\u9020\u51fd\u6570\u6ce8\u5165\uff0c\u539f\u56e0\u662f\u6ce8\u518c\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Scope")," \u8303\u56f4\u4f5c\u7528\u57df ",(0,l.kt)("sup",null,"4.6.3")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/974f835ccdcf84bc84dd6f7044589ae2a2e7a57b"},"974f835")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e2a\u522b\u670d\u52a1\u5668\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"SQL Server")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"TLS 1.2")," \u534f\u8bae\u95ee\u9898")," ",(0,l.kt)("sup",null,"4.6.3")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/974f835ccdcf84bc84dd6f7044589ae2a2e7a57b"},"974f835")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".ToDictionary()")," \u62d3\u5c55\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"JObject")," \u7c7b\u578b\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5VJHC"},"#I5VJHC")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/MonkSoul/Furion/commit/a11bf8d8b6bb90b41b8394d8bca35aa3539239e6"},"a11bf8d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"long")," \u7c7b\u578b\u4e22\u7cbe\u5ea6\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5VJHC"},"#I5VJHC")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/aded58d0bc587d1a1844382c66ec1ab3de96be7c"},"aded58d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u8fd4\u56de\u503c\u7c7b\u578b\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6cdb\u578b")," \u65f6\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"FullName")," \u5e26\u7a0b\u5e8f\u96c6\u7b7e\u540d\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/f0aaec6a5ae358bab7f4b6ed58848de8a7f32f5e"},"f0aaec6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4f18\u5316\u8fdc\u7a0b\u8bf7\u6c42\u6027\u80fd\uff0c\u6dfb\u52a0\u590d\u7528\u6c60\u7684\u673a\u5236\uff0c\u907f\u514d\u9891\u7e41\u9500\u6bc1\u521b\u5efa ",(0,l.kt)("sup",null,"4.6.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c"},"7384c9c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u8bbe\u7f6e\u5ba2\u6237\u7aef\u751f\u547d\u5468\u671f\u914d\u7f6e\u6587\u6863\u548c\u65b0\u8d85\u65f6\u914d\u7f6e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"long")," \u7c7b\u578b\u8bf4\u660e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u53cd\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u7c7b\u578b\u4e2a\u522b\u683c\u5f0f\u51fa\u9519\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u7ed3\u679c\u652f\u6301\u7279\u5b9a\u63a5\u53e3\u914d\u7f6e\u72ec\u7acb\u5e8f\u5217\u5316\u914d\u7f6e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001\u6570\u636e\u5e93\u5165\u95e8\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v459\u5df2\u53d1\u5e03"},"v4.5.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u7248\u672c\u7ec6\u8282",type:"important"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.9")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5ULWN"},"https://gitee.com/dotnetchina/Furion/issues/I5ULWN")," ",(0,l.kt)("sup",null,"2022.10.09")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.8")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UGNS"},"https://gitee.com/dotnetchina/Furion/issues/I5UGNS")," ",(0,l.kt)("sup",null,"2022.10.08")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.7")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U8Q9"},"https://gitee.com/dotnetchina/Furion/issues/I5U8Q9")," ",(0,l.kt)("sup",null,"2022.10.06")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.6")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U4SG"},"https://gitee.com/dotnetchina/Furion/issues/I5U4SG")," ",(0,l.kt)("sup",null,"2022.10.03")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.5")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U413"},"https://gitee.com/dotnetchina/Furion/issues/I5U413")," ",(0,l.kt)("sup",null,"2022.10.02")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.4")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U3MK"},"https://gitee.com/dotnetchina/Furion/issues/I5U3MK")," ",(0,l.kt)("sup",null,"2022.10.01")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.2")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TXON"},"https://gitee.com/dotnetchina/Furion/issues/I5TXON")," ",(0,l.kt)("sup",null,"2022.09.30")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.1")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TLI6"},"https://gitee.com/dotnetchina/Furion/issues/I5TLI6")," ",(0,l.kt)("sup",null,"2022.09.28")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.0")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TD4X"},"https://gitee.com/dotnetchina/Furion/issues/I5TD4X")," ",(0,l.kt)("sup",null,"2022.09.27")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddConsoleFormatter()")," \u62d3\u5c55\u7b80\u5316\u63a7\u5236\u53f0\u65e5\u5fd7\u6a21\u677f\u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TCMO"},"#I5TCMO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u548c\u6587\u4ef6\u65e5\u5fd7\u65f6\u95f4\u9ed8\u8ba4\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"\u661f\u671f\u51e0")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u548c\u6587\u4ef6\u65e5\u5fd7\u652f\u6301\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"options.DateFormat")," \u65e5\u671f\u683c\u5f0f\u5316 ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u65e5\u5fd7\u5e26\u989c\u8272\u8f93\u51fa\uff0c\u6bd4\u5982\u9ad8\u4eae ",(0,l.kt)("inlineCode",{parentName:"li"},"\u65e5\u5fd7\u7ea7\u522b")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u683c\u5f0f\u5316\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"options.WriteHandler")," \u5b8c\u5168\u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7fb30368f9640360017fc7f357df13eeb5031c2b"},"7fb3036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u8f93\u51fa ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u683c\u5f0f\u5316\u914d\u7f6e")," ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5OUT1"},"#I5OUT1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u65e5\u5fd7\u5199\u5165\u72ec\u7acb\u65e5\u5fd7\u6a21\u677f\u914d\u7f6e\u3001\u72ec\u7acb\u65e5\u671f\u683c\u5f0f\u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LogMessage")," \u7ed3\u6784\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"LogDateTime"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"ThreadId"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"State")," \u5c5e\u6027 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u53ef\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonWriterOptions")," \u5c5e\u6027 ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U375"},"#I5U375")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Log.ScopeContext")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},'"some log".ScopeContext')," \u62d3\u5c55 ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/812969357a60d0b73becf105e6b77b46113b3800"},"8129693")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext.SetTokensOfResponseHeaders")," \u62d3\u5c55 ",(0,l.kt)("sup",null,"4.5.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3775e659ca13615bc7f65b050fb8540daeed9433"},"3775e65")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Stream")," \u6587\u4ef6\u683c\u5f0f\u4e0a\u4f20 ",(0,l.kt)("sup",null,"4.5.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UF3I"},"#I5UF3I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65e5\u5fd7\u6a21\u5757\u53ef\u914d\u7f6e\u662f\u5426\u542f\u7528\u4e0a\u4e0b\u6587\u529f\u80fd ",(0,l.kt)("inlineCode",{parentName:"li"},"IncludeScopes")," \u5c5e\u6027 ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UJRS"},"#I5UJRS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u65e5\u5fd7\u7b5b\u9009 ",(0,l.kt)("inlineCode",{parentName:"li"},"WriteFilter")," \u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f06f12b2c115bd181f4832daa7537efe5cb3fe8"},"6f06f12")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\ud83d\ude0a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6846\u67b6\u6587\u6863\u5730\u5740\u4e3a ",(0,l.kt)("a",{parentName:"strong",href:"https://furion.baiqian.ltd"},"https://furion.baiqian.ltd"))," ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2e3d80ec0be830c33923ef9953ff504528120f06"},"2e3d80e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u5e95\u5c42\u903b\u8f91\uff0c\u79fb\u9664\u539f\u6765\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},".ScopeContext")," \u5b58\u50a8\u76d1\u542c\u4fe1\u606f\u8bbe\u8ba1 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("strong",{parentName:"del"},"\u4e3b\u673a\u672a\u542f\u52a8\u65f6\u6784\u5efa\u670d\u52a1\u7684\u64cd\u4f5c\u6743\u9650\uff0c\u6b64\u64cd\u4f5c\u4f1a\u5bfc\u81f4\u5185\u5b58\u6fc0\u589e\uff0c\u53d7\u5f71\u54cd\u65b9\u6cd5\uff1a ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions")," \u7cfb\u5217\u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetService")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"Scoped.Create")))," ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U0A4"},"#I5U0A4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/812969357a60d0b73becf105e6b77b46113b3800"},"8129693"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u8fd1\u671f\u53d1\u73b0\u8bb8\u591a\u5f00\u53d1\u8005\u5728\u4e3b\u673a\u8fd8\u672a\u542f\u52a8\u65f6\u89e3\u6790\u670d\u52a1\uff0c\u8fd9\u662f\u975e\u5e38\u4e0d\u6b63\u786e\u7684\u884c\u4e3a\uff0c\u4f1a\u5bfc\u81f4\u542f\u52a8\u65f6\u5185\u5b58\u6fc0\u589e\u751a\u81f3\u6ea2\u51fa\uff0c\u5e38\u89c1\u7684\u9519\u8bef\u6709\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5728\u542f\u52a8\u7684\u65f6\u5019\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u521b\u5efa\u4f5c\u7528\u57df"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u5728\u542f\u52a8\u7684\u65f6\u5019\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions")," \u83b7\u53d6\u9009\u9879\u5bf9\u8c61")),(0,l.kt)("li",{parentName:"ul"},"\u5728\u542f\u52a8\u7684\u65f6\u5019\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetService")," \u89e3\u6790\u670d\u52a1")),(0,l.kt)("p",null,"\u6b63\u786e\u7684\u505a\u6cd5\u662f\uff0c\u542f\u52a8\u7684\u65f6\u5019\u7981\u6b62\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"Scoped.Create")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"App.GetService"),"\u3002"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u5982\u9700\u542f\u52a8\u65f6\u83b7\u53d6\u914d\u7f6e\u5e94\u8be5\u901a\u8fc7\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},'App.GetConfig("\u914d\u7f6e\u8282\u70b9", true)')," \u66ff\u4ee3 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions()")),"\u3002"))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b57\u7b26\u4e32\u65e5\u5fd7\u62d3\u5c55\u5e26\u6cdb\u578b\u65b9\u6cd5\u4e0d\u80fd\u6b63\u786e\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"CategoryName")," \u65e5\u5fd7\u7c7b\u522b ",(0,l.kt)("sup",null,"4.5.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TBKL"},"#I5TBKL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u63a7\u5236\u53f0\u65e5\u5fd7\u8bbe\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},".ScopeContext")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7fb30368f9640360017fc7f357df13eeb5031c2b"},"7fb3036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u540c\u65f6\u914d\u7f6e\u4e86\u5c40\u90e8\u548c\u5168\u5c40\u65e5\u5fd7\u76d1\u542c\u89e6\u53d1\u4e24\u6b21\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a1a97e817c43db4c20ba6e3aae03cea96d545a4b"},"a1a97e8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.8+")," \u7248\u672c\u66f4\u65b0\u5bfc\u81f4\u8fdc\u7a0b\u8bf7\u6c42\u5728\u4e2a\u522b\u60c5\u51b5\u4e0b\u51fa\u73b0\u5e76\u53d1\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWL3"},"#I5TWL3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u914d\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"ReturnValueThreshold")," \u4e4b\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"Json")," \u88ab\u622a\u65ad\u5f15\u53d1\u6709\u6548\u6027\u68c0\u6d4b\u5f02\u5e38 ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U375"},"#I5U375")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"DataTable"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"DataSet"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Tuple")," \u7b49\u7c7b\u578b\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U3VO"},"#I5U3VO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u81ea ",(0,l.kt)("inlineCode",{parentName:"strong"},"v4.5.2+")," \u7248\u672c\u5347\u7ea7\u540e\u51fa\u73b0\u542f\u52a8\u65f6\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptons")," \u5f02\u5e38\u95ee\u9898")," ",(0,l.kt)("sup",null,"4.5.6")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U4OC"},"#I5U4OC")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/f9a6587e3f7893db88c905cf77c3c4ebed39b73c"},"f9a6587")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseInject(action)")," \u5bfc\u81f4\u6b7b\u5faa\u73af ",(0,l.kt)("sup",null,"4.5.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/608"},"!608")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u62a5\u7a7a\u5f15\u7528\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UGCA"},"#I5UGCA")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/610"},"!610")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5e76\u53d1\u60c5\u51b5\u4e0b\u8bbe\u7f6e\u65e5\u5fd7\u4e0a\u4e0b\u6587\u51fa\u73b0\u5076\u7136\u6027\u7a7a\u5f15\u7528\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UJRS"},"#I5UJRS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6587\u4ef6\u65e5\u5fd7\u9ed8\u8ba4\u6a21\u677f\uff0c\u9ed8\u8ba4\u5bf9\u65e5\u5fd7\u65f6\u95f4\u8fdb\u884c\u683c\u5f0f\u5316\u5e76\u663e\u793a\u661f\u671f\u51e0 ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u811a\u624b\u67b6\u4ee3\u7801\uff0c\u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddConsoleFormatter()")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TLI6"},"#I5TLI6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u4ee3\u7801\uff0c\u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddConsoleFormatter()")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TLI6"},"#I5TLI6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u51cf\u5c11 ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfile")," \u4e0d\u5fc5\u8981\u7684\u76d1\u542c\uff0c\u53ea\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u9875\u9762\u8bf7\u6c42\u624d\u76d1\u542c ",(0,l.kt)("sup",null,"4.5.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/697ef51f4869a4d533a6debd2a17cb9f0c1000c3"},"697ef51")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u65e5\u5fd7\u6a21\u5757\u6240\u6709\u65e5\u5fd7\u65f6\u95f4\u9ed8\u8ba4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"24\u5c0f\u65f6\u5236"),"\uff0c\u8fc7\u53bb\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"12\u5c0f\u65f6\u5236")," ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/612"},"!612")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9009\u9879\u76d1\u542c\u51fa\u73b0\u89e6\u53d1\u591a\u6b21\u7684\u89e3\u51b3\u65b9\u6848 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5T9PR"},"#I5T9PR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u52a8\u6001 WebAPI \u6587\u6863\u3001\u9009\u9879\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li"},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301\u65e5\u5fd7\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u683c\u5f0f\u5316\u8f93\u51fa"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,4,8,10,14,16}",showLineNumbers:!0,"{2,4,8,10,14,16}":!0},'// \u63a7\u5236\u53f0\nservices.AddConsoleFormatter(options =>\n{\n options.MessageFormat = LoggerFormatter.Json;\n});\n\n// \u6587\u4ef6\nservices.AddFileLogging("mytemplate.log", options =>\n{\n options.MessageFormat = LoggerFormatter.Json;\n});\n\n// \u6570\u636e\u5e93\nservices.AddDatabaseLogging(options =>\n{\n options.MessageFormat = LoggerFormatter.Json;\n});\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li",start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"LoggingMonitor")," \u8f93\u51fa ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u683c\u5f0f"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5168\u5c40/\u5c40\u90e8\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Json")," \u8f93\u51fa\u914d\u7f6e")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,8}",showLineNumbers:!0,"{4,8}":!0},"// \u5168\u5c40\nservices.AddMonitorLogging(options =>\n{\n options.JsonBehavior = Furion.Logging.JsonBehavior.OnlyJson;\n});\n\n// \u5c40\u90e8\n[LoggingMonitor(JsonBehavior = Furion.Logging.JsonBehavior.OnlyJson)]\n")),(0,l.kt)("admonition",{type:"note"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"\u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"JsonBehavior")),(0,l.kt)("p",{parentName:"admonition"},"\u53ea\u6709\u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"JsonBehavior.OnlyJson")," \u65f6\u624d\u4e0d\u4f1a\u8f93\u51fa",(0,l.kt)("strong",{parentName:"p"},"\u7f8e\u89c2\u7684"),"\u65e5\u5fd7\u3002")),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u5199\u5165\u5b58\u50a8\u4ecb\u8d28")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {14-18}",showLineNumbers:!0,"{14-18}":!0},'using Furion.Logging;\n\nnamespace Your.Core;\n\npublic class DatabaseLoggingWriter : IDatabaseLoggingWriter\n{\n // \u652f\u6301\u6784\u9020\u51fd\u6570\u6ce8\u5165\u4efb\u4f55\u5b9e\u4f8b\uff0c\u4f1a\u81ea\u52a8\u91ca\u653e\u4efb\u4f55\u670d\u52a1\uff0c\u6bd4\u5982\u6ce8\u5165 IRepository\uff0c\u6216\u8005 SqlSugarClient\n public DatabaseLoggingWriter()\n {\n }\n\n public void Write(LogMessage logMsg, bool flush)\n {\n // \u5982\u679c JsonBehavior \u914d\u7f6e\u4e3a OnlyJson \u6216\u8005 All\uff0c\u90a3\u4e48 Context \u5c31\u5305\u542b loggingMonitor \u7684\u503c\n // \u5982\u679c JsonBehavior \u914d\u7f6e\u4e3a OnlyJson\uff0c\u90a3\u4e48\u53ef\u76f4\u63a5\u901a\u8fc7 logMsg.Message \u83b7\u53d6\u7ed3\u679c\u5c31\u662f json \u683c\u5f0f\n if (logMsg.LogName == "System.Logging.LoggingMonitor")\n {\n var jsonString = logMsg.Context.Get("loggingMonitor");\n }\n\n // \u8fd9\u91cc\u5199\u4f60\u4efb\u4f55\u63d2\u5165\u6570\u636e\u5e93\u7684\u64cd\u4f5c\uff0c\u65e0\u9700 try catch\n }\n}\n')),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Json")," \u8f93\u51fa\u683c\u5f0f\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "controllerName": "test-logger",\n "controllerTypeName": "TestLoggerServices",\n "actionName": "person",\n "actionTypeName": "GetPerson",\n "areaName": null,\n "displayName": "Furion.Application.TestLoggerServices.GetPerson (Furion.Application)",\n "localIPv4": "0.0.0.1",\n "remoteIPv4": "0.0.0.1",\n "httpMethod": "GET",\n "requestUrl": "https://localhost:5001/api/test-logger/person/2",\n "refererUrl": "https://localhost:5001/api/index.html?urls.primaryName=\u6570\u636e\u5e93\u64cd\u4f5c\u6f14\u793a",\n "environment": "Development",\n "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53",\n "requestHeaderAuthorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsIkFjY291bnQiOiJhZG1pbiIsImlhdCI6MTY2NDQ1MDUwNSwibmJmIjoxNjY0NDUwNTA1LCJleHAiOjE2NjQ0NTE3MDUsImlzcyI6ImRvdG5ldGNoaW5hIiwiYXVkIjoicG93ZXJieSBGdXJpb24ifQ.-xocNcDQGoXClceoVU5QAHIkTcOZ7ZXo0hEbzghDfFI",\n "timeOperationElapsedMilliseconds": 55,\n "authorizationClaims": [\n {\n "type": "UserId",\n "valueType": "integer",\n "value": "1"\n },\n {\n "type": "Account",\n "valueType": "string",\n "value": "admin"\n },\n {\n "type": "iat",\n "valueType": "integer",\n "value": "1664450505"\n },\n {\n "type": "nbf",\n "valueType": "integer",\n "value": "1664450505"\n },\n {\n "type": "exp",\n "valueType": "integer",\n "value": "1664451705"\n },\n {\n "type": "iss",\n "valueType": "string",\n "value": "dotnetchina"\n },\n {\n "type": "aud",\n "valueType": "string",\n "value": "powerby Furion"\n }\n ],\n "parameters": [\n {\n "name": "id",\n "type": "System.Int32",\n "value": 2\n }\n ],\n "returnInformation": {\n "type": "Furion.UnifyResult.RESTfulResult`1[[System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]",\n "actType": "Furion.Application.Persons.PersonDto",\n "value": {\n "StatusCode": 200,\n "Data": {\n "Id": 2,\n "Name": null,\n "Age": 0,\n "Address": null,\n "PhoneNumber": null,\n "QQ": null,\n "CreatedTime": "0001-01-01T00:00:00+00:00",\n "Childrens": null,\n "Posts": null\n },\n "Succeeded": true,\n "Errors": null,\n "Extras": null,\n "Timestamp": 1664450517341\n }\n },\n "exception": {\n "type": "System.DivideByZeroException",\n "message": "Attempted to divide by zero.",\n "stackTrace": " at Furion.Application.TestLoggerServices.\u6d4b\u8bd5\u65e5\u5fd7\u76d1\u542c8(Int32 id) in D:\\\\Workplaces\\\\OpenSources\\\\Furion\\\\samples\\\\Furion.Application\\\\TestLoggerServices.cs:line 78\\r\\n at lambda_method103(Closure , Object , Object[] )\\r\\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\\r\\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1(ControllerActionInvoker invoker)\\r\\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"\n },\n "validation": {\n "errorCode": null,\n "originErrorCode": null,\n "message": "\u51fa\u9519\u4e86\u554a\u3002\u3002\u3002\u3002"\n }\n}\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li",start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301\u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Stream")," \u6d41"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5355\u6587\u4ef6\u4e0a\u4f20")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b57\u7b26\u4e32\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,5,9}",showLineNumbers:!0,"{1,5,9}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await "https://localhost:44316/api/test-module/upload-file"\n .SetContentType("multipart/form-data")\n .SetFiles(HttpFile.Create("file", fileStream, "image.png")).PostAsync();\n\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7406\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,6}",showLineNumbers:!0,"{1,3,6}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await _http.TestSingleFileProxyAsync(HttpFile.Create("file", fileStream, "image.png"));\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u591a\u6587\u4ef6\u4e0a\u4f20")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b57\u7b26\u4e32\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,5,8}",showLineNumbers:!0,"{1,5,8}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await "https://localhost:44316/api/test-module/upload-muliti-file"\n .SetContentType("multipart/form-data")\n .SetFiles(HttpFile.CreateMultiple("files", (fileStream, "image1.png"), (fileStream, "image2.png"))).PostAsync();\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7406\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,6}",showLineNumbers:!0,"{1,3,6}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await _http.TestMultiFileProxyAsync(HttpFile.CreateMultiple("files", (fileStream, "image1.png"), (fileStream, "image2.png")));\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},"\u8fd8\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Bytes")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Stream")," \u6df7\u5408")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2,4-10,14,18}",showLineNumbers:!0,"{1-2,4-10,14,18}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\nvar bytes = File.ReadAllBytes("image.png");\n\nvar httpFile = new HttpFile\n{\n Name = name,\n Bytes = bytes,\n FileStream = fileStream,\n FileName = fileName\n};\n\nvar result = await "https://localhost:44316/api/test-module/upload-file"\n .SetContentType("multipart/form-data")\n .SetFiles(httpFile).PostAsync();\n\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li",start:4},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"LoggingMonitor")," \u5168\u5c40\u8fc7\u6ee4"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers showLineNumbers {1,3,10}",showLineNumbers:!0,"{1,3,10}":!0},"services.AddMonitorLogging(options =>\n{\n options.WriteFilter = (context) =>\n {\n // \u83b7\u53d6\u63a7\u5236\u5668/\u64cd\u4f5c\u63cf\u8ff0\u5668\n var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;\n\n // \u4f60\u7684\u903b\u8f91....\uff0c\u4e0d\u9700\u8981\u62e6\u622a\u8fd4\u56de false\uff0c\u5426\u5219 true\n\n return true;\n };\n});\n")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v449\u5df2\u53d1\u5e03"},"v4.4.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u7248\u672c\u7ec6\u8282",type:"important"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.9")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SP37"},"https://gitee.com/dotnetchina/Furion/issues/I5SP37")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.8")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SKUE"},"https://gitee.com/dotnetchina/Furion/issues/I5SKUE")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.7")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SEFE"},"https://gitee.com/dotnetchina/Furion/issues/I5SEFE")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.6")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RSFD"},"https://gitee.com/dotnetchina/Furion/issues/I5RSFD")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.5")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RHQX"},"https://gitee.com/dotnetchina/Furion/issues/I5RHQX")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.4")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5R5TI"},"https://gitee.com/dotnetchina/Furion/issues/I5R5TI")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.3")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QVH3"},"https://gitee.com/dotnetchina/Furion/issues/I5QVH3")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.2")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QDHX"},"https://gitee.com/dotnetchina/Furion/issues/I5QDHX")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.1")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5Q3SX"},"https://gitee.com/dotnetchina/Furion/issues/I5Q3SX")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.0")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PQHR"},"https://gitee.com/dotnetchina/Furion/issues/I5PQHR")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u53cb\u597d\u5f02\u5e38\u53ef\u63a7\u5236\u662f\u5426\u8f93\u51fa\u9519\u8bef\u65e5\u5fd7\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"LogError: true")," ",(0,l.kt)("sup",null,"4.4.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PKJH"},"#I5PKJH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateOnlyJsonConverter")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateOnlyOffsetJsonConverter")," \u5e8f\u5217\u5316\u8f6c\u6362\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/565"},"!565")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"li"},"LogEnabled")," \u914d\u7f6e\uff0c\u53ef\u63a7\u5236\u662f\u5426\u8f93\u51fa\u670d\u52a1\u65e5\u5fd7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QLY5"},"#I5QLY5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u53ef\u5b9e\u73b0\u4efb\u4f55\u591a\u5957\u89c4\u8303\u5316\u7ed3\u679c\u529f\u80fd\uff0c\u652f\u6301\u7279\u5b9a\u63a7\u5236\u5668\uff0c\u7279\u5b9a\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QZ37"},"#I5QZ37")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ILoggerFactory")," \u65e5\u5fd7\u5de5\u5382\u52a8\u6001\u6279\u91cf\u6dfb\u52a0\u6587\u4ef6\u65e5\u5fd7\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5R9PO"},"#I5R9PO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetCommandLineConfiguration(args)")," \u89e3\u6790\u547d\u4ee4\u884c\u53c2\u6570\u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/803542c3e21496e92d2bf83aaa2d00831fcb09bc"},"803542c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de\u53d7\u5f71\u54cd\u884c\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5REJ9"},"#I5REJ9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4efb\u610f\u81ea\u5b9a\u4e49\u65e5\u5fd7\u6587\u4ef6\u540d\u652f\u6301\u6eda\u52a8\u65e5\u5fd7\u5220\u9664\u529f\u80fd")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RFBQ"},"#I5RFBQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".pcd")," \u56fe\u7247\u7c7b\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"MIME")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"image/x-photo-cd")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5fafc8477a4d213d16db92cf030f409c758fab95"},"5fafc84")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9ed8\u8ba4\u65e5\u5fd7\u8f93\u51fa\u5f53\u524d\u7ebf\u7a0b ",(0,l.kt)("inlineCode",{parentName:"li"},"Environment.CurrentManagedThreadId")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b8fe2cdc49d1bd11e38ad37fa512acafc3d96417"},"b8fe2cd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseInject(Action)")," \u91cd\u8f7d\u65b9\u6cd5\uff0c\u7b80\u5316\u914d\u7f6e ",(0,l.kt)("sup",null,"4.4.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0b645fede0ad81c4779a8b9b4b16d9c5d60c9662"},"0b645fe")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6846\u67b6\u9002\u914d ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},".NET 6.0.9")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET 7.0 RC1"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/be5b4098bae2153f8d49cf9797e454afde0d0aab"},"be5b40")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1eee77bff0954336dcc5402a09a3195667bb80f2"},"1eee77b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},".SetBodyBytes")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},".SetFiles")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PMS5"},"#I5PMS5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PIYI"},"#I5PIYI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FS.InitialContentTypeProvider()")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"FS.GetFileExtensionContentTypeProvider()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5fafc8477a4d213d16db92cf030f409c758fab95"},"5fafc84")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"del"},"[BodyBytes]")," \u8bbe\u8ba1\uff0c\u91c7\u7528 ",(0,l.kt)("inlineCode",{parentName:"del"},"HttpFile")," \u65b9\u5f0f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PMS5"},"#I5PMS5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PIYI"},"#I5PIYI"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3-4,7-8,11-12}",showLineNumbers:!0,"{3-4,7-8,11-12}":!0},'public interface IHttp : IHttpDispatchProxy\n{\n [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]\n Task PostXXXAsync(HttpFile file);\n\n // \u652f\u6301\u591a\u4e2a\u6587\u4ef6\n [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]\n Task PostXXXAsync(HttpFile[] files);\n\n // \u652f\u6301\u591a\u4e2a\u6587\u4ef6\n [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]\n Task PostXXXAsync(IList files);\n}\n')),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,7}",showLineNumbers:!0,"{3,7}":!0},'// bytes \u53ef\u4ee5\u901a\u8fc7 File.ReadAllBytes(\u6587\u4ef6\u8def\u5f84) \u83b7\u53d6\nvar res = await "https://www.furion.icu/upload".SetContentType("multipart/form-data")\n .SetFiles(HttpFile.Create("file", bytes, "image.png")).PostAsync();\n\n// \u652f\u6301\u591a\u4e2a\u6587\u4ef6\nvar res = await "https://www.furion.icu/upload".SetContentType("multipart/form-data")\n .SetFiles(HttpFile.CreateMultiple("files", (bytes, "image1.png"), (bytes, "image2.png"))).PostAsync();\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6240\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"AddInject")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UseInject")," \u53c2\u6570\u8bbe\u8ba1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QCF0"},"#I5QCF0"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,5}",showLineNumbers:!0,"{3,5}":!0},"public void ConfigureServices(IServiceCollection services)\n{\n services.AddInject(options =>\n {\n options.ConfigureSwaggerGen(gen =>\n {\n // ...\n });\n });\n}\n")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,5,10}",showLineNumbers:!0,"{3,5,10}":!0}," public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n app.UseInject(configure: options =>\n {\n options.ConfigureSwagger(swg =>\n {\n // ...\n });\n\n options.ConfigureSwaggerUI(ui =>\n {\n // ...\n });\n });\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"strong"},"xxxAsStreamAsync")," \u8fd4\u56de\u503c")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QVEB"},"#I5QVEB"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u7531\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'var stream = await "https://www.furion.icu/".GetAsStreamAsync();\n')),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'var (stream, encoding) = await "https://www.furion.icu/".GetAsStreamAsync();\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"}," ",(0,l.kt)("inlineCode",{parentName:"strong"},".Inject()")," \u652f\u6301\u914d\u7f6e\u66f4\u591a\u53c2\u6570\uff0c\u5f00\u653e\u5e95\u5c42\u66f4\u591a\u6743\u9650")," ",(0,l.kt)("sup",null,"4.4.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1182283f6303b2d73ae4c82cdbc8b5b705d90030"},"1182283"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},".Inject((builder, options) => {\n options.ConfigureAppConfiguration((context, config) =>\n {\n\n });\n options.ConfigureServices((context, services) =>\n {\n\n });\n});\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4ee3\u7406\u6a21\u5f0f\u975e\u6cdb\u578b\u53c2\u6570\u5bfc\u81f4\u6570\u7ec4\u6ea2\u51fa\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5Q3SN"},"#I5Q3SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u5ba2\u6237\u7aef ",(0,l.kt)("inlineCode",{parentName:"li"},"IP")," \u8bb0\u5f55\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QCU1"},"#I5QCU1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/562"},"!562")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u54cd\u5e94\u62a5\u6587\u4e2d\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"charset=gbk")," \u8fdb\u884c\u5e8f\u5217\u5316\u540e\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QVEB"},"#I5QVEB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6587\u4ef6\u65e5\u5fd7\u65ad\u7535\u65f6\u4e22\u5931\u65e5\u5fd7\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/db7d51bba569001bc363727a6683ab3f31c3fc1d"}," db7d51b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"WebAPI")," \u6216\u63a7\u5236\u53f0\u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},'[ApiDescriptionSettings(Tag = "")]')," \u6807\u7b7e\u4e4b\u540e\u5bfc\u81f4\u6ce8\u91ca\u4e22\u5931 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5REVF"},"#I5REVF")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RE4J"},"#I5RE4J")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u542f\u7528\u6570\u636e\u5e93\u65e5\u5fd7\u4f46\u662f\u6ca1\u6709\u914d\u7f6e\u914d\u7f6e\u6587\u4ef6\u51fa\u73b0\u7a7a\u5f02\u5e38\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/33817bed9d47c85a57c0198c0819ad5cf1c41d0b"},"33817be")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u63a7\u5236\u53f0\u65e5\u5fd7\u8fc7\u6ee4\u65e0\u6cd5\u8fc7\u6ee4\u9ed8\u8ba4\u4e3b\u673a\u65e5\u5fd7\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/33817bed9d47c85a57c0198c0819ad5cf1c41d0b"},"33817be")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u811a\u624b\u67b6\u9519\u8bef\u7684\u65e5\u5fd7\u914d\u7f6e\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/33817bed9d47c85a57c0198c0819ad5cf1c41d0b"},"33817be")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u9ad8\u9891\u538b\u6d4b\u60c5\u51b5\u4e0b\u5199\u65e5\u5fd7\u5e76\u8bbe\u7f6e\u65e5\u5fd7\u4e0a\u4e0b\u6587\u5bfc\u81f4\u5e76\u53d1\u66f4\u65b0\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"strong"},"System.AggregateException")," \u5f02\u5e38\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RFBQ"},"#I5RFBQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u6587\u4ef6\u540d\u56e0 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Windows")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"Linux")," \u8def\u5f84\u5206\u9694\u7b26\u4e0d\u4e00\u81f4\u5bfc\u81f4\u65e5\u5fd7\u6587\u4ef6\u521b\u5efa\u5931\u8d25\u95ee\u9898\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},"Linux")," \u53ea\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"/")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\\"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RFBQ"},"#I5RFBQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh/Bah")," \u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},".WithData")," \u4e4b\u540e\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/580"},"!580")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u57fa\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"Redis")," \u91cd\u5199\u4e8b\u4ef6\u5b58\u50a8\u5668\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEventSource")," \u5b9e\u4f8b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3e45020eca5948d18d5cb405a665aae44088fd20"},"3e45020")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Log")," \u9759\u6001\u7c7b\u8d85\u9ad8\u9891\u7387\u4e0b\u5199\u65e5\u5fd7\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"CPU")," \u6fc0\u589e\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SDK5"},"#I5SDK5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u8d85\u9ad8\u9891\u7387\u4e0b\u53d1\u9001\u8bf7\u6c42\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"CPU")," \u6fc0\u589e\u95ee\u9898\u548c\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SJJR"},"#I5SJJR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u96c6\u6210\u7b2c\u4e09\u65b9\u914d\u7f6e\u4e2d\u5fc3\u65f6\u83b7\u53d6\u7684\u4e0d\u662f\u6700\u65b0\u6570\u636e\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2cdef6bd4274e5ea0328f209c34b9158dcded7ee"},"2cdef6b")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption")," \u9759\u6001\u7c7b\uff0c\u652f\u6301\u65e0\u9700\u6ce8\u518c ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddJwt()")," \u4f7f\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PPKE"},"#I5PPKE")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5POLZ"},"#I5POLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4\u65e5\u5fd7\u7c7b\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Logging.EventBusService")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QLY5"},"#I5QLY5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET7")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ASP.NET 7")," \u96c6\u6210\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u96c6\u6210\u7b2c\u4e09\u65b9\u914d\u7f6e\u4e2d\u5fc3\u6587\u6863 ",(0,l.kt)("sup",null,"4.4.9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7b2c\u4e09\u65b9\u4e8b\u4ef6\u603b\u7ebf\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u96c6\u6210\u6587\u6863 ",(0,l.kt)("sup",null,"4.4.9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Kafka")," \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5P5UG"},"#I5P5UG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u53cb\u597d\u5f02\u5e38\u6587\u6863\u3001\u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\u3001\u4f9d\u8d56\u6ce8\u5165\u6587\u6863\u3001\u5373\u65f6\u901a\u8baf\u6587\u6863\u3001\u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001Worker Service \u6587\u6863\u3001\u5355\u5143\u6d4b\u8bd5\u6587\u6863\u3001\u5165\u95e8\u6307\u5357\u6587\u6863\u3001\u6570\u636e\u5e93\u65b0\u589e\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v439\u5df2\u53d1\u5e03"},"v4.3.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u7248\u672c\u7ec6\u8282",type:"important"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.3.9")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PIWD"},"https://gitee.com/dotnetchina/Furion/issues/I5PIWD")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.3.8")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PCXK"},"https://gitee.com/dotnetchina/Furion/issues/I5PCXK")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ExcludeAssemblies")," \u5c5e\u6027\uff0c\u652f\u6301\u5ffd\u7565\u6307\u5b9a\u7a0b\u5e8f\u96c6\u626b\u63cf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7b7747f38c84acfe7df3469599bebf417e5ad843"},"7b7747f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Bah")," \u652f\u6301\u8bbe\u7f6e\u989d\u5916\u6570\u636e ",(0,l.kt)("inlineCode",{parentName:"li"},".WithData(data)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5O38E"},"#I5O38E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"Crontab.GetSleepMilliseconds(baseTime)")," \u83b7\u53d6\u4e0b\u4e00\u4e2a\u53d1\u751f\u65f6\u95f4\u7684\u65f6\u95f4\u5dee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d024fae670b7ce3fd4bfd26aee70ed318a4c0383"},"d024fae")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u53cb\u597d\u5f02\u5e38\u9ed8\u8ba4\u6253\u5370\u5f02\u5e38\u65e5\u5fd7\uff0c\u907f\u514d\u751f\u4ea7\u73af\u5883\u6f0f\u6389\u91cd\u8981\u5f02\u5e38\u4fe1\u606f ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/6e3a5bdd0fd22a7f9ae618b7495cd64081a7f2e8"},"6e3a5bd"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65e5\u5fd7\u9759\u6001\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"Log.CreateLoggerFactory()")," \u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/75c672afc58b393313916c433cb9d92c779b9629"},"75c672a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00 ",(0,l.kt)("inlineCode",{parentName:"li"},"SharedResource")," \u6a21\u5f0f\uff0c\u907f\u514d\u786c\u7f16\u7a0b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/18e80c7d7c2c2450c6ad429601716f546552e987"},"18e80c7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"MessageCenter")," \u9759\u6001\u7c7b\uff0c\u89e3\u51b3\u4ece ",(0,l.kt)("inlineCode",{parentName:"strong"},"Fur v1.x")," \u7248\u672c\u5347\u7ea7\u95ee\u9898 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/a29fc7cf63a3ea41b1617a6ad98a701a243e24f8"},"a29fc7c"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"IWebComponent")," \u6a21\u5f0f\uff0c\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET5+")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/08a44c347a56c467527935a8caac8966585f5d1a"},"08a44c3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u8bbe\u7f6e\u81ea\u5df1\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpClient")," \u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PBR3"},"#I5PBR3")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/544"},"!545")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u652f\u6301\u6dfb\u52a0\u66f4\u591a\u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PEPA"},"#I5PEPA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u53ef\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"WithReturnValue")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"ReturnValueThreshold")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFOW"},"#I5PFOW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u53ef\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"MethodsSettings")," \u66f4\u591a\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFOW"},"#I5PFOW"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,4,6}",showLineNumbers:!0,"{2,4,6}":!0},"Serve.Run(RunOptions.Default\n .AddWebComponent());\n\npublic class XXXWebComponent : IWebComponent\n{\n public void Load(WebApplicationBuilder builder, ComponentContext componentContext)\n {\n // ....\n }\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u7a0b\u5e8f\u96c6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"PublicKeyToken")," \u5f3a\u7b7e\u540d")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/26b12c0fd64b153a71496eb62110567e05450f20"},"26b12c0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"IEventBusFactory")," \u4e8b\u4ef6\u5de5\u5382\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"strong"},"AddSubscriber -> Subscribe"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},"RemoveSubscriber -> Unsubscribe")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/a29fc7cf63a3ea41b1617a6ad98a701a243e24f8"},"a29fc7c"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddInject()")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".UseInject()")," \u914d\u7f6e\u9009\u9879\u540d\u79f0\uff0c\u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"Configure")," \u540e\u7f00 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b6953cd586936593e40ef626c3b8a1e770239e43"},"b6953cd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u8bf7\u6c42\u62e6\u622a"),"\u3001",(0,l.kt)("inlineCode",{parentName:"strong"},"\u54cd\u5e94\u62e6\u622a")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u5f02\u5e38\u62e6\u622a")," \u59d4\u6258\u7b7e\u540d\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"strong"},"HttpClient")," \u53c2\u6570")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5OWBO"},"#I5OWBO"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,7,12}",showLineNumbers:!0,"{2,7,12}":!0},"[Interceptor(InterceptorTypes.Request)]\nstatic void OnRequest(HttpClient client, HttpRequestMessage req)\n{\n}\n\n[Interceptor(InterceptorTypes.Response)]\nstatic void OnResponsing(HttpClien client, HttpResponseMessage res)\n{\n}\n\n[Interceptor(InterceptorTypes.Exception)]\nstatic void OnException(HttpClient client, HttpResponseMessage res, string errors)\n{\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u751f\u6210\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"\u4e2d\u6587")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u89e3\u5bc6\u540e\u51fa\u73b0\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5O397"},"#I5O397")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpRequestMessage")," \u62d3\u5c55\u4e2d\u8ffd\u52a0\u67e5\u8be2\u53c2\u6570\u65f6\u7684\u7a7a\u5f15\u7528\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PENW"},"#I5PENW")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/547"},"!547")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65e5\u5fd7\u6a21\u5757\u914d\u7f6e\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"IDatabaseLoggingWriter")," \u53ea\u6709\u4e00\u4e2a\u751f\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFQ2"},"#I5PFQ2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u9ed8\u8ba4\u8f93\u51fa\u6587\u4ef6\u65e5\u5fd7\u6a21\u677f\uff0c\u4f7f\u5176\u66f4\u52a0\u7f8e\u89c2 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1518cf3be74524ed0d3f73360068a9a0ec6685d9"},"#1518cf3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u9ed8\u8ba4\u89c4\u8303\u5316\u7ed3\u679c\u9a8c\u8bc1\u5904\u7406\u4e5f\u652f\u6301\u72b6\u6001\u7801\u8bbe\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2eb939074a14d29fcd3e4726937c8a8430765f48"},"2eb9390")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugarCore")," \u62d3\u5c55\u5305\u548c\u811a\u624b\u67b6\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"5.1.2.6")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PCXK"},"#I5PCXK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u66f4\u591a\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"RabbitMQ")," \u4e8b\u4ef6\u603b\u7ebf\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u914d\u7f6e\u6587\u6863\u3001\u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001\u591a\u6570\u636e\u5e93\u914d\u7f6e\u6587\u6863\u3001\u65e5\u5fd7\u6587\u6863\u3001\u5b9a\u65f6\u4efb\u52a1\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"MessageCenter")," \u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\u3001\u7ec4\u4ef6\u5316\u6587\u6863\u3001\u5165\u95e8\u6307\u5357\u3001\u591a\u8bed\u8a00\u6587\u6863\u3002")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v4213\u5df2\u53d1\u5e03"},"v4.2.13\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf\u5de5\u5382\uff0c\u652f\u6301\u8fd0\u884c\u65f6\u52a8\u6001\u6dfb\u52a0\u8ba2\u9605\u7a0b\u5e8f\u548c\u79fb\u9664\u8ba2\u9605\u7a0b\u5e8f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NNQX"},"#I5NNQX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"[EventSubscribe]")," \u4e8b\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Id")," \u652f\u6301\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NNQX"},"#I5NNQX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"[EventSubscribe]")," \u652f\u6301\u5c40\u90e8\u5931\u8d25\u91cd\u8bd5\u914d\u7f6e")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NNQX"},"#I5NNQX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Log")," \u5168\u5c40\u9759\u6001\u7c7b\uff0c\u65b9\u4fbf\u968f\u65f6\u968f\u5730\u8bb0\u5f55\u65e5\u5fd7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ba9b1f13a0b89b6670cf7078ac15abe0eed1f2c3"},"ba9b1f1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"li"},"options.AddSubscriber(Type)")," \u91cd\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/blob/424460780b630e1c71de4db84ad8fd14e33a09f5/framework/Furion.Pure/EventBus/Builders/EventBusOptionsBuilder.cs"},"42446078")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u7c7b\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"FirstErrorProperty")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"FirstErrorMessage")," \u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MFJT"},"#I5MFJT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6a21\u5f0f ",(0,l.kt)("inlineCode",{parentName:"li"},"WithArgs(args)")," \u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MOJB"},"#I5MOJB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u5206\u5e03\u5f0f\u4e8b\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"TransactionScope")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MRTY"},"#I5MRTY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," 16 \u4f4d ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u52a0\u5bc6\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5N8RC"},"#I5N8RC")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create(async (f,s) => {})")," \u5f02\u6b65\u521b\u5efa\u4f5c\u7528\u57df\u65b9\u6cd5\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"CreateAsync"),"\uff0c\u907f\u514d\u4e00\u4e9b\u60c5\u51b5\u4e0b\u65e0\u6cd5\u533a\u5206\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u540c\u6b65\u65b9\u6cd5\u4e0d\u53d8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5N9XY"},"#I5N9XY"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u7531\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2}",showLineNumbers:!0,"{1-2}":!0},"// Scoped.CreateUow \u4e00\u6837\nawait Scoped.Create(async (f, s) => {});\n")),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2}",showLineNumbers:!0,"{1-2}":!0},"// Scoped.CreateUowAsync \u4e00\u6837\nawait Scoped.CreateAsync(async (f, s) => {});\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 6.0.8")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 7 Preview 7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/842d4f739c92366e05fb1d2c619c9b2c2c2c21b7"},"842d4f7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u547d\u540d\u7a7a\u95f4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"System"),"\uff0c\u56e0\u4e3a\u4f7f\u7528\u9891\u7387\u8d8a\u6765\u8d8a\u9ad8 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b879861c9db5cf3cb0f4ae023d1e96b06fad3e46"},"b879861")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u5728\u975e ",(0,l.kt)("inlineCode",{parentName:"strong"},"Web")," \u73af\u5883\u4e2d\u4e0d\u6b63\u786e\u4f7f\u7528\u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u6cd5\u68c0\u6d4b\u673a\u5236")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6389cbdd69f5ca826fad25749a45ede079db98ce"},"6389cbd")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"strong"},".Default")," \u9759\u6001\u5c5e\u6027\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},".Default()")," \u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6389cbdd69f5ca826fad25749a45ede079db98ce"},"6389cbd")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u5de5\u4f5c\u5355\u5143 ",(0,l.kt)("inlineCode",{parentName:"strong"},"IUnitOfWork")," \u6240\u6709\u65b9\u6cd5\u53c2\u6570\u7c7b\u578b\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"strong"},"ActionExecutingContext")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"ActionExecutedContext")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"FilterContext"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,5,7,9}",showLineNumbers:!0,"{3,5,7,9}":!0},"public interface IUnitOfWork\n{\n void BeginTransaction(FilterContext context, UnitOfWorkAttribute unitOfWork);\n\n void CommitTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);\n\n void RollbackTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);\n\n void OnCompleted(FilterContext context, FilterContext resultContext);\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65e5\u5fd7\u4e0a\u4e0b\u6587\u6570\u636e\u591a\u6b21\u5199\u5165\u88ab\u6e05\u7a7a\u95ee\u9898\u4ee5\u53ca\u6570\u636e\u5e93\u65e5\u5fd7\u51fa\u73b0\u5f02\u5e38\u540e\u505c\u6b62\u5199\u5165 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5LIWF"},"#I5LIWF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e2a\u522b\u60c5\u51b5\u4e0b\u8de8\u57df\u9ed8\u8ba4\u914d\u7f6e\u7684\u54cd\u5e94\u7f13\u5b58\u5bfc\u81f4\u5d4c\u5165\u5f0f\u8d44\u6e90\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7a57efe15a9a2d76475d758f2b64395f96d94077"},"7a57efe")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4f20\u5165\u4e0d\u5408\u6cd5\u7684\u8bf7\u6c42\u62a5\u6587\u5934\u6570\u636e\u89e6\u53d1\u6821\u9a8c\u5931\u8d25\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5LPFE"},"#I5LPFE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u7ebf\u7a0b\u4e2d\u4f7f\u7528\u9759\u6001\u65e5\u5fd7\u5199\u6570\u636e\u5e93\u65e5\u5fd7\u5bfc\u81f4\u8fde\u63a5\u6c60\u8017\u5149\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8d5cdd6ca04d55e33322000ecc176e47195b6f4d"},"8d5cdd6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore 6.0")," \u4e4b\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"IModelCacheKeyFactory")," \u63a5\u53e3\u65b9\u6cd5\u6539\u53d8\u5bfc\u81f4\u5206\u8868\u5206\u5e93\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MCZ6"},"#I5MCZ6")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/dotnet/efcore/issues/25154#issuecomment-868804532"},"EFCore#25154")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/dotnet/EntityFramework.Docs/pull/3305"},"EFCore!3305")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u5bf9\u8c61 ",(0,l.kt)("inlineCode",{parentName:"li"},"Message")," \u5b57\u7b26\u4e32\u7c7b\u578b\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},'\\"\\"')," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MFJT"},"#I5MFJT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[IfException]")," \u8986\u76d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh/Bah")," \u9519\u8bef\u6d88\u606f\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4bbd854c6779bf7eca26fd69b25c4979b8cec32d"},"4bbd854")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u65e5\u5fd7\u5199\u5165\u5faa\u73af\u5199\u5165\u548c\u9891\u7e41\u521b\u5efa\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9ce214c9cf49eb1ff59f3c52dbecd789be4f45fd"},"9ce214c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301\u5168\u5c40\u5f02\u5e38\u62e6\u622a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301\u5168\u5c40\u6570\u636e\u9a8c\u8bc1\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301\u5de5\u4f5c\u5355\u5143 ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u81ea\u52a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"SaveChanges")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Blazor Server")," \u56e0 ",(0,l.kt)("inlineCode",{parentName:"li"},"v4.2.2")," \u7248\u672c\u66f4\u65b0\u5bfc\u81f4\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MNFN"},"#I5MNFN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[IfException]")," \u4e0d\u652f\u6301\u591a\u8bed\u8a00\u914d\u7f6e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MPN7"},"#I5MPN7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddMvcFilter()")," \u65b9\u5f0f\u6ce8\u518c\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8d1477d8b44ae111bddb8e4780672bcaf4e0e467"},"8d1477d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Channel")," \u7ba1\u9053\u521d\u59cb\u5316\u65f6\u673a\u8fc7\u665a\u95ee\u9898\uff0c\u89e3\u51b3\u90e8\u5206\u7b2c\u4e09\u65b9\u4f9d\u8d56\u4f7f\u7528\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MM3O"},"#I5MM3O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e3b\u673a\u505c\u6b62\u65f6\u5199\u5165\u65e5\u5fd7\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5N7S2"},"#I5N7S2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u624b\u52a8\u91ca\u653e\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"AutoSaveChange")," \u7279\u6027\u51fa\u73b0\u91ca\u653e\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NFWC"},"#I5NFWC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5faa\u73af\u5f15\u7528\u5e8f\u5217\u5316\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NRT9"},"#I5NRT9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," Body \u53c2\u6570\u629b\u51fa\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NTUE"},"#I5NTUE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4\u5f00\u542f\u6a21\u7cca\u5339\u914d\uff08\u6b63\u5219\u8868\u8fbe\u5f0f\uff09\u5bfc\u81f4\u4e0d\u5fc5\u8981\u7684\u8ba2\u9605 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NVOP"},"#I5NVOP")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Channel")," \u7ba1\u9053\u521d\u59cb\u5316\u65f6\u673a\uff0c\u89e3\u51b3\u90e8\u5206\u7b2c\u4e09\u65b9\u4f9d\u8d56\u4f7f\u7528\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MM3O"},"#I5MM3O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5e95\u5c42\u8fed\u4ee3\u6539\u8fdb\u4f18\u5316"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863\u83b7\u53d6\u63a7\u5236\u5668\u3001\u65b9\u6cd5\u5206\u7ec4\u3001\u6807\u7b7e\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/66d8d54b225b5294cd54aa76b548312f7c37903a"},"66d8d54")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u65e5\u5fd7\u9759\u6001\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"Log")," \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ba9b1f13a0b89b6670cf7078ac15abe0eed1f2c3"},"ba9b1f1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Nuget")," \u672c\u5730\u6d4b\u8bd5\u5305\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u6587\u6863\u3001\u9759\u6001\u7c7b\u6587\u6863\u3001\u6570\u636e\u6821\u9a8c\u6587\u6863\u3001Worker Service \u6587\u6863\u3001\u5de5\u4f5c\u5355\u5143\u6587\u6863\u3001\u4f9d\u8d56\u6ce8\u5165\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v4114\u5df2\u53d1\u5e03"},"v4.1.14\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion.Xunit")," \u62d3\u5c55\u5305\uff0c\u6b63\u5f0f\u5b9e\u73b0 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Xunit")," \u5355\u5143\u6d4b\u8bd5\u5b8c\u6574\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/063a034edd089e88d501af4c09251611476fd238"},"063a034e"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddMonitorLogging()")," \u65e5\u5fd7\u76d1\u89c6\u5668\u670d\u52a1\uff0c\u652f\u6301\u975e\u5e38\u7075\u6d3b\u7684\u65e5\u5fd7\u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/81df742b2784a18fbf4060fe30cc5151909c3cab"},"81df742")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Serve.Run(silence: true)")," \u7b49\u4e00\u7cfb\u5217\u5f3a\u5927\u7684\u9759\u9ed8\u542f\u52a8\u529f\u80fd ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5JBSQ"},"#I5JBSQ")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5J98T"},"#I5J98T")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/7cced443ca1cdcb29226c71274e087ec2a6135ef"},"7cced4"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder.GetOpenApiGroups()")," \u65b9\u6cd5\u83b7\u53d6\u5e95\u5c42\u7684\u89c4\u8303\u5316\u63a5\u53e3\u5206\u7ec4\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4ff03c5f8342c4d9b26fb1336cd78936ab189f5e"},"4ff03c5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"logger.ScopeContext()")," \u914d\u7f6e\u65e5\u5fd7\u4e0a\u4e0b\u6587\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JC0D"},"#I5JC0D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8de8\u57df\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"CorsAccessorSettings.SignalRSupport")," \u914d\u7f6e\u9009\u9879\uff0c\u652f\u6301\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"SignalR")," \u8de8\u57df ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JREM"},"#I5JREM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"li"},"UseUtcTimestamp")," \u9009\u9879\u914d\u7f6e\uff0c\u53ef\u9009\u62e9\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime.UtcNow")," \u8fd8\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime.Now"),"\uff0c\u9ed8\u8ba4\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime.Now")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JSEU"},"#I5JSEU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"[OperationId]")," \u914d\u7f6e\uff0c\u89e3\u51b3\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u4e0d\u80fd\u6b63\u786e\u663e\u793a\u8def\u7531\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5K1IB"},"#I5K1IB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"IHttpDispatchProxy")," \u65b9\u5f0f\u5168\u5c40\u62e6\u622a\u652f\u6301\u591a\u6001\uff08\u7ee7\u627f\uff09 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5K8FS"},"#I5K8FS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Xunit")," \u62d3\u5c55\u5305\uff0c\u6b63\u5f0f\u5b9e\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Xunit")," \u5355\u5143\u6d4b\u8bd5\u5b8c\u6574\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/063a034edd089e88d501af4c09251611476fd238"},"063a034e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Furion.Extras.DatabaseAccessor.SqlSugar")," \u62d3\u5c55\u63d2\u4ef6\u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"del"},"[SqlSugarUnitOfWork]")," \u5de5\u4f5c\u5355\u5143\u7279\u6027\uff0c\u5c06\u4f7f\u7528\u901a\u7528\u5de5\u4f5c\u5355\u5143\u66ff\u6362","*","*")," ",(0,l.kt)("a",{parentName:"li",href:"/docs/tran#92631-%E8%87%AA%E5%8A%A8%E7%AE%A1%E7%90%86"},"\u67e5\u770b\u6700\u65b0\u5b9e\u73b0\u6587\u6863"),"*","*"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Inject.Create()")," \u65b9\u6cd5\uff0c\u518d\u4e5f\u4e0d\u9700\u8981\u4e86\uff0c\u6846\u67b6\u63d0\u4f9b\u4e86\u65e0\u654c\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"del"},"Serve.Run()")," \u9759\u9ed8\u542f\u52a8\u65b9\u5f0f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/200848eda8c2e419c0b5be83f7768a257f3c88bd"},"200848e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ConfigureConfiguration")," \u65b9\u6cd5\u53c2\u6570\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"li"},"configuration => {}")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"(environment, configuration) => {}")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83c97bb5a19d6fc4e51cfe05f635675d26067d45"},"83c97bb"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,6}",showLineNumbers:!0,"{2,6}":!0},"// \u7531\nServe.Run(RunOptions.Default.ConfigureConfiguration(configuration => {\n\n}));\n// \u6539\u4e3a\uff1a\nServe.Run(RunOptions.Default.ConfigureConfiguration((environment, configuration) => {\n\n}));\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5f02\u5e38\u6d88\u606f\u65e5\u5fd7\u7ea7\u522b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Information")," \u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ab46cdf534433f45d39ce4d3ee7c71ca84707140"},"ab46cdf")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65b0\u7248\u672c\u65e5\u5fd7\u7ec4\u4ef6\u9891\u7e41\u63d0\u793a\u6587\u4ef6\u5360\u7528\u95ee\u9898\uff0c\u5c06\u6587\u4ef6\u72ec\u5360\u9501\u6539\u4e3a\u5171\u4eab\u9501 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5J3S6"},"#I5J3S6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u914d\u7f6e\u6570\u636e\u5e93\u65e5\u5fd7\u8bfb\u5199\u5668\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65f6\u63a7\u5236\u53f0\u51fa\u73b0\u65e0\u9650\u6253\u5370\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5J474"},"#I5J474")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u9488\u5bf9 ",(0,l.kt)("inlineCode",{parentName:"li"},"byte[]")," \u7c7b\u578b\u53c2\u6570\u8f93\u51fa\u8fc7\u5927\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5380f3551de69f8607ca0fc33c950103c7ed8174"},"5380f35")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u53cb\u597d\u5f02\u5e38\u548c\u89c4\u8303\u5316\u7ed3\u679c\u4e22\u5931\u4e86\u539f\u59cb ",(0,l.kt)("inlineCode",{parentName:"li"},"ErrorCode")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5IX2R"},"#I5IX2R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65b0\u7248\u672c\u65e5\u5fd7\u7ec4\u4ef6\u81ea\u5b9a\u4e49\u6570\u636e\u5e93\u8bfb\u5199\u5668\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u4ed3\u50a8\u5bfc\u81f4\u6b7b\u5faa\u73af\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5IX2R"},"#I5IX2R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u9ed8\u8ba4\u624b\u52a8\u9a8c\u8bc1\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5168\u5c40\u9a8c\u8bc1\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2a06c39c1d0a032bbc317e25a22c646babce2a60"},"2a06c39")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6a21\u5f0f\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"SuperSocket")," \u7b2c\u4e09\u65b9\u5305\u95ee\u9898\uff0c\u539f\u751f\u662f\u652f\u6301\u7684\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/186ca0a35d696f58d9e696094848a560074cdf6f"},"186ca0a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SignalR")," \u8de8\u57df\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JREM"},"#I5JREM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Bah")," \u8bb0\u5f55\u5230\u4e86\u9519\u8bef\u65e5\u5fd7\u4e2d\uff0c\u9ed8\u8ba4\u5e94\u8be5\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"Information")," \u4e14\u63d0\u4f9b\u53ef\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JZ1H"},"#I5JZ1H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u4e4b\u540e\u4e2a\u522b ",(0,l.kt)("inlineCode",{parentName:"li"},"UI")," \u8981\u6c42\u5fc5\u987b\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"operationId"),"\uff0c\u5426\u5219\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"guid")," \u5e8f\u53f7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5K1IB"},"#I5K1IB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e3b\u52a8\u629b\u51fa ",(0,l.kt)("inlineCode",{parentName:"li"},"NotFoundResult")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"NotFoundObjectResult")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5KALZ"},"#I5KALZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u89e3\u6790\u65b9\u6cd5\u53c2\u6570\u4f46\u524d\u7aef\u672a\u4f20\u5165\u65f6\u51fa\u73b0\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5KC5P"},"#I5KC5P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u65e0\u6cd5\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"IQueryable")," \u8fd4\u56de\u503c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5KJD1"},"#I5KJD1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u4e0d\u80fd\u8bb0\u5f55\u5168\u5c40\u9a8c\u8bc1\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b44087dcc7dbe9992b8f4518e0b0cf4ed61c56bb"},"b44087d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5b58\u5728\u6ce8\u518c\u987a\u5e8f\u5dee\u5f02\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b44087dcc7dbe9992b8f4518e0b0cf4ed61c56bb"},"b44087d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e95\u5c42\u7684\u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder")," \u90e8\u5206\u65b9\u6cd5\uff0c\u63d0\u4f9b\u66f4\u52a0\u4fbf\u6377\u7684\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u96c6\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/10f0f01996586eedb138304c7b00c6f31282dfeb"},"10f0f01")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5355\u5143\u6d4b\u8bd5\u6587\u6863\u3001\u5165\u95e8\u6307\u5357\u6587\u6863\u3001Worker Services \u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u5f7b\u5f7b\u5e95\u5e95\u652f\u6301\u5168\u5e73\u53f0\uff0c\u63d0\u4f9b\u975e\u5e38\u5f3a\u5927\u7684\u9759\u9ed8\u6a21\u5f0f")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u542f\u7528\u9759\u9ed8\u6a21\u5f0f\u53ef\u4ee5\u5b9e\u73b0\u65e0\u963b\u585e\u65b9\u5f0f\u6267\u884c\u7a0b\u5e8f\uff0c\u800c\u4e14\u8fd8\u80fd\u4f53\u9a8c\u5b8c\u6574\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u529f\u80fd\u3002")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u5927\u9769\u547d",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u6709\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"Serve.Run()")," \u9759\u9ed8\u6a21\u5f0f\u540e\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u5f7b\u5f7b\u5e95\u5e95\u652f\u6301\u5168\u5e73\u53f0\uff0c\u4e0d\u7ba1\u4f60\u662f ",(0,l.kt)("inlineCode",{parentName:"p"},"\u63a7\u5236\u53f0\u3001Web\u3001\u684c\u9762\u3001\u79fb\u52a8\u3001\u5355\u5143\u6d4b\u8bd5\uff0c\u96c6\u6210\u6d4b\u8bd5\uff0c\u57fa\u51c6\u6d4b\u8bd5\u7b49\u7b49\u5e94\u7528\u7a0b\u5e8f"),"\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3}",showLineNumbers:!0,"{1,3}":!0},'Serve.Run(silence: true);\n\n// \u4e0d\u4f1a\u963b\u585e\u6267\u884c\u54e6\uff0c\u800c\u4e14\u4ece\u8fd9\u91cc\u5f00\u59cb\u53ef\u4ee5\u4f7f\u7528 Furion \u4efb\u4f55\u529f\u80fd\uff0c\u6bd4\u5982 App.Configuration....\nConsole.WriteLine("Hello, World!");\nConsole.ReadKey();\n')),(0,l.kt)("p",null,"\u8fd8\u6709\u66f4\u591a\u9759\u9ed8\u6a21\u5f0f\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,5,8}",showLineNumbers:!0,"{2,5,8}":!0},"// RunOptions \u65b9\u5f0f\nServe.Run(RunOptions.DefaultSilence);\n\n// LegacyRunOptions \u65b9\u5f0f\nServe.Run(LegacyRunOptions.DefaultSilence);\n\n// GenericRunOptions \u65b9\u5f0f\nServe.Run(GenericRunOptions.DefaultSilence);\n")))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Xunit")," \u5355\u5143\u6d4b\u8bd5\u3001\u96c6\u6210\u6d4b\u8bd5")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u5927\u9769\u547d",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u5355\u5143\u6d4b\u8bd5\u548c\u96c6\u6210\u6d4b\u8bd5\u662f\u4fdd\u8bc1\u4e00\u4e2a\u7cfb\u7edf\u80fd\u591f\u6301\u7eed\u7ef4\u62a4\u548c\u7a33\u5b9a\u8fd0\u884c\u7684\u5fc5\u5907\u6280\u80fd\uff0c\u4f46\u662f\u76ee\u524d\u73b0\u6709\u7684\u5355\u5143\u6d4b\u8bd5\u7ec4\u4ef6\u65e0\u6cd5\u76f4\u63a5\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u7684\u529f\u80fd\uff0c\u6700\u5e38\u7528\u7684\u5c31\u662f\u5982\u4f55\u5728\u5355\u5143\u6d4b\u8bd5\u4e2d\u8bfb\u53d6\u914d\u7f6e\uff0c\u4ee5\u53ca",(0,l.kt)("strong",{parentName:"p"},"\u5982\u4f55\u8fdb\u884c\u4f9d\u8d56\u6ce8\u5165"),"\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u5728\u8fc7\u53bb\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u53ea\u80fd\u4e0d\u65ad\u7684\u53bb\u8c03\u6574\uff0c\u4ee5\u81f3\u4e8e\u9002\u914d\u7b2c\u4e09\u65b9\u5355\u5143\u6d4b\u8bd5\u5199\u6cd5\uff0c\u641e\u5f97\u4e0d\u4f26\u4e0d\u7c7b\uff01"),(0,l.kt)("p",{parentName:"admonition"},"\u6240\u4ee5\uff0c\u8fd9\u4e00\u6b21\u4e0d\u518d\u59a5\u534f\uff0c",(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u63a8\u51fa\u81ea\u5df1\u7684\u5355\u5143\u6d4b\u8bd5\u5de5\u5177\uff0c\u53ef\u4ee5\u8ba9\u73b0\u6709\u7684\u5355\u5143\u6d4b\u8bd5\u5982 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Xunit")," 100% \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6240\u6709\u529f\u80fd\uff0c\u5168\u90e8\u4fdd\u8bc1\u4e00\u81f4\u7684\u5199\u6cd5\u3002"))),(0,l.kt)("p",null,"\u5355\u5143\u6d4b\u8bd5\u4e2d\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {6,13,18}",showLineNumbers:!0,"{6,13,18}":!0},'using Furion.Xunit;\nusing Xunit.Abstractions;\nusing Xunit.Sdk;\n\n// \u914d\u7f6e\u542f\u52a8\u7c7b\u7c7b\u578b\uff0c\u7b2c\u4e00\u4e2a\u53c2\u6570\u662f TestProgram \u7c7b\u5b8c\u6574\u9650\u5b9a\u540d\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u5f53\u524d\u9879\u76ee\u7a0b\u5e8f\u96c6\u540d\u79f0\n[assembly: TestFramework("TestProject1.TestProgram", "TestProject1")]\n\nnamespace TestProject1;\n\n/// \n/// \u5355\u5143\u6d4b\u8bd5\u542f\u52a8\u7c7b\n/// \npublic class TestProgram : TestStartup\n{\n public TestProgram(IMessageSink messageSink) : base(messageSink)\n {\n // \u521d\u59cb\u5316 Furion\n Serve.Run(silence: true);\n }\n}\n')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u6d4b\u8bd5\u7c7b\u652f\u6301\u5b8c\u6574\u4f9d\u8d56\u6ce8\u5165")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {9,15}",showLineNumbers:!0,"{9,15}":!0},"using TestProject1.Services;\nusing Xunit;\n\nnamespace TestProject1;\n\npublic class UnitTest1\n{\n private readonly ICalcService _calcService;\n public UnitTest1(ICalcService calcService)\n {\n _calcService = calcService;\n }\n\n [Fact]\n public void \u6d4b\u8bd5\u4e24\u4e2a\u6570\u7684\u548c()\n {\n Assert.Equal(3, _calcService.Plus(1, 2));\n }\n}\n")),(0,l.kt)("img",{src:(0,p.Z)("img/ut9.png")}),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"/docs/unittest"},"\u67e5\u770b\u65b0\u7248\u672c\u5355\u5143\u6d4b\u8bd5\u6587\u6863"))))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},"\u5f00\u653e\u5e95\u5c42\u89c4\u8303\u5316\u6587\u6863\u5206\u7ec4\u63a5\u53e3\uff0c\u4f7f\u5f97\u96c6\u6210\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u66f4\u52a0\u5bb9\u6613\uff0c\u5982\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"IGeekFan.AspNetCore.Knife4jUI")," \u62d3\u5c55\uff1a")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u5b89\u88c5\u5305",type:"note"},(0,l.kt)("p",{parentName:"admonition"},"\u53ea\u9700\u8981\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"YourPoject.Web.Core")," \u5c42\u5b89\u88c5 ",(0,l.kt)("inlineCode",{parentName:"p"},"IGeekFan.AspNetCore.Knife4jUI")," \u5373\u53ef\u3002")),(0,l.kt)("p",null,"3.1.1 ",(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u72ec\u7acb\u7248\u672c\u914d\u7f6e")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,12}",showLineNumbers:!0,"{1,3,12}":!0},'var routePrefix = "api"; // \u5b9a\u4e49 swagger \u8def\u7531\u5730\u5740\uff0c\u5982\u679c\u662f\u8ddf\u76ee\u5f55\uff0c\u8bbe\u7f6e string.Empty \u5373\u53ef\n\napp.UseKnife4UI(options =>\n{\n options.RoutePrefix = routePrefix; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(routePrefix); // \u914d\u7f6e Furion \u8def\u7531\u5730\u5740\n')),(0,l.kt)("p",null,"3.1.2 ",(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u5171\u5b58\u7248\u672c\u914d\u7f6e")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,10}",showLineNumbers:!0,"{1,3,10}":!0},'app.UseKnife4UI(options =>\n{\n options.RoutePrefix = "newapi"; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\uff0c\u73b0\u5728\u662f /newapi\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(); // Furion \u9ed8\u8ba4 api \u5730\u5740\u4e3a /api\n')),(0,l.kt)("img",{src:(0,p.Z)("img/sg20.png")}),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u5982\u9700\u5b9e\u73b0\u767b\u5f55\u4e4b\u540e\u81ea\u52a8\u5c06 ",(0,l.kt)("inlineCode",{parentName:"strong"},"token")," \u6dfb\u52a0\u5230\u5934\u90e8\u53ef\u5728\u767b\u5f55\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"strong"},"AfterScript")," \u6267\u884c\u4ee5\u4e0b\u4ee3\u7801\uff1a")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'ke.global.setAllHeader(\n "Authorization",\n "Bearer " + ke.response.headers["access-token"]\n);\n')),(0,l.kt)("img",{src:(0,p.Z)("img/kni.jpg")}),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},"\u63d0\u4f9b\u5f3a\u5927\u7684\u65e5\u5fd7\u4e0a\u4e0b\u6587\u529f\u80fd")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,6,12}",showLineNumbers:!0,"{2,6,12}":!0},'// \u5199\u6cd5\u4e00\n_logger.ScopeContext(ctx => ctx.Set("Name", "Furion").Set("UserId", 10))\n .LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n\n// \u5199\u6cd5\u4e8c\n_logger.ScopeContext(new Dictionary {\n { "Name", "Furion" },\n { "UserId", 10 }\n}).LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n\n// \u5199\u6cd5\u4e09\n_logger.ScopeContext(new LogContext {\n // ....\n}).LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20)\n')))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v400\u91cd\u65b0\u8d77\u822a"},"v4.0.0\uff08\u91cd\u65b0\u8d77\u822a\uff09\ud83d\udc96"),(0,l.kt)("admonition",{title:"\u4e0d\u5fd8\u521d\u5fc3\uff0c\u611f\u6069\u9047\u89c1\uff0c\u611f\u6069\u4fe1\u4efb",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"2020 \u5e74 09 \u6708 01 \u65e5\uff0c\u4e00\u4e2a\u53eb ",(0,l.kt)("inlineCode",{parentName:"p"},"Fur")," \u7684\u5f00\u6e90\u9879\u76ee\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"Gitee")," \u7684\u8941\u8913\u4e2d\u6084\u7136\u8bde\u751f\uff0c\u5979\u7684\u51fa\u751f\u4eff\u4f5b\u5e26\u7740\u67d0\u79cd\u4f7f\u547d\uff0c\u6ca1\u6709\u5305\u88b1\uff0c\u65e0\u9650\u53ef\u80fd\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u5979\u7f13\u7f13\u7684\u5f20\u5f00\u53cc\u773c\uff0c\u5e72\u51c0\u96ea\u4eae\u7684\u773c\u775b\u4f3c\u4e4e\u5bf9\u8fd9\u4e2a\u4e16\u754c\u5145\u6ee1\u4e86\u597d\u5947\uff0c\u4efb\u4f55\u4e8b\u7269\u5728\u5979\u773c\u524d\u6643\u8fc7\u90fd\u50cf\u662f\u76f4\u51fb\u7075\u9b42\u7684\u601d\u60f3\u78b0\u649e\uff0c\u8fd9\u4e9b\u5728\u5979\u770b\u6765\u90fd\u662f\u975e\u5e38\u5b9d\u8d35\u7684\u8d22\u5bcc\u3002\u5979\u8c8c\u4f3c\u6709\u7528\u4e0d\u5b8c\u7684\u7cbe\u529b\uff0c\u4e00\u8def\u6c72\u53d6\u77e5\u8bc6\uff0c\u5347\u7ea7\u6253\u602a\uff0c\u4e0d\u65ad\u5954\u8dd1\uff0c\u4e50\u6b64\u4e0d\u75b2\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u8bb0\u5f97 2020 \u5e74 11 \u6708 11 \u65e5\u7684\u5355\u8eab\u8282\uff0c\u5979\u8fce\u6765\u4e86\u201c\u4e00\u5c81\uff08v1.0.0\uff09\u201d\u751f\u65e5\uff0c\u81ea\u90a3\u4ee5\u540e\uff0cIT \u8fd9\u4e2a\u5927\u94f6\u5e55\u4e0a\u9891\u7e41\u51fa\u73b0\u5979\u7684\u8eab\u5f71\uff0c\u8d8a\u6765\u8d8a\u591a ",(0,l.kt)("inlineCode",{parentName:"p"},".NET5")," \u5f00\u53d1\u8005\u8f6c\u7c89\uff0c\u50cf\u662f\u544a\u8bc9\u8fd9\u4e2a\u4e16\u754c\uff0c\u5979\u5c31\u662f IT \u754c\u5927\u660e\u661f\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u6bcf\u4e00\u4e2a\u660e\u661f\u90fd\u6709\u4e00\u4e2a\u597d\u542c\u7684\u827a\u540d\uff0c\u5979\u5f53\u7136\u4e5f\u4e0d\u4f8b\u5916\uff0c2020 \u5e74 11 \u6708 20 \u65e5\uff0c\u7ecf\u7eaa\u4eba\u767e\u5c0f\u50e7\u4e3a\u5979\u8d77\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion"),"\u3002"),(0,l.kt)("p",{parentName:"admonition"},"2021 \u5e74 11 \u6708 09 \u65e5\u8d77\uff0c\u5979\u8fdb\u5165\u4e86\u6bcf\u4e2a\u5b69\u5b50\u90fd\u7ecf\u5386\u8fc7\u7684\u53db\u9006\u671f\uff0c\u5e74\u5c11\u8f7b\u72c2\u559c\u65b0\u538c\u65e7\uff0c\u629b\u5f03\u4e86\u66fe\u7ecf\u652f\u6301\u5979\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET5")," \u7c89\u4e1d\u4eec\uff0c\u6295\u5165\u5230\u65b0\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET6")," \u62e5\u8db8\u8005\u6000\u62b1\u4e2d\uff0c\u81ea\u6b64\u8fc7\u4e0a\u4e86\u5962\u9761\u5bcc\u8db3\u7684\u751f\u6d3b\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u4f46\u5979\u8fc7\u7684\u4e0d\u5f00\u5fc3\uff0c\u65f6\u5e38\u5728\u591c\u91cc\u60f3\u8d77 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET5")," \u7684\u7c89\u4e1d\u4eec\uff0c\u5185\u5fc3\u975e\u5e38\u81ea\u8d23\uff0c\u4f46\u5728\u53cc\u91cd\u5de5\u4f5c\u538b\u529b\u4e0b\u5979\u6bc5\u7136\u9009\u62e9\u4e86\u5ffd\u89c6\u4ed6\u4eec\u7684\u8bc9\u6c42\uff0c\u4eff\u4f5b\u4ed6\u4eec\u5c31\u662f\u7d2f\u8d58\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u65f6\u95f4\u771f\u7684\u662f\u597d\u4e1c\u897f\uff0c\u66fe\u7ecf\u8ba4\u4e3a\u662f\u5bf9\u7684\uff0c\u7ecf\u8fc7\u5c81\u6708\u7684\u8e49\u8dce\u5386\u78e8\uff0c\u6e10\u6e10\u7684\u660e\u767d\uff1a\u4e0d\u5fd8\u521d\u5fc3\uff0c\u65b9\u80fd\u59cb\u7ec8\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u8fd9\u4e00\u6b21\uff0c\u4e0d\u843d\u4e0b\u4e00\u4eba\uff08",(0,l.kt)("inlineCode",{parentName:"p"},".NET5"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},".NET6"),"\uff0c...\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},".NET N"),"\uff09\uff0c\u643a\u624b\u5171\u8fdb\uff0c\u91cd\u65b0\u8d77\u822a\uff0c\u611f\u6069\u9047\u89c1\uff0c\u611f\u6069\u4fe1\u4efb\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"v4.0.0")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET5"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},".NET6"),"\uff0c...\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},".NET N"),"\uff0c\u6240\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u9879\u76ee\u90fd\u80fd\u591f\u5347\u7ea7\u5230\u8be5\u7248\u672c\uff0c\u91cd\u65b0\u8d77\u822a\uff0c\u5b9e\u73b0\u5927\u7edf\u3002"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v392\u5df2\u53d1\u5e03"},"v3.9.2\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u5173\u4e8e\u65e5\u5fd7",type:"important"},(0,l.kt)("p",{parentName:"admonition"},"\u65e5\u5fd7\u6a21\u5757\u662f\u4efb\u4f55\u5e94\u7528\u7cfb\u7edf\u90fd\u5fc5\u5907\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u8bf4\u662f\u6700\u91cd\u8981\u7684\u6a21\u5757\uff01\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET")," \u793e\u533a\u4e2d\u6709 ",(0,l.kt)("inlineCode",{parentName:"p"},"Log4NET"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"NLog"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Serilog")," \u7b49\u65e5\u5fd7\u7ec4\u4ef6\uff0c\u5b83\u4eec\u65e0\u4e00\u4e0d\u662f\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u4f46\u7531\u4e8e\u8fd9\u4e9b\u65e5\u5fd7\u7ec4\u4ef6\u5386\u53f2\u60a0\u4e45\uff0c\u5185\u90e8\u517c\u5bb9\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET")," \u7248\u672c\u975e\u5e38\u591a\uff0c\u529f\u80fd\u968f\u7740\u65f6\u95f4\u63a8\u79fb\u53d8\u5f97\u6781\u5176\u5f3a\u5927\u590d\u6742\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5728\u5b9e\u9645\u9879\u76ee\u4f7f\u7528\u4e2d\uff0c\u53d1\u73b0\u6bcf\u4e00\u4e2a\u65e5\u5fd7\u7ec4\u4ef6\u914d\u7f6e\u603b\u662f\u4e0d\u90a3\u4e48\u53cb\u597d\uff0c\u7279\u522b\u662f\u5728\u4f7f\u7528\u4e0a\u4e0d\u591f\u7b80\u5355"),"\u3002"),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u4f5c\u4e3a\u5168\u6808\u5f00\u53d1\u6846\u67b6\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5728\u8fc7\u53bb\u7248\u672c\u5e76\u6ca1\u6709\u63d0\u4f9b\u8db3\u4ee5\u6ee1\u8db3\u5f00\u53d1\u8005\u9700\u6c42\u7684\u65e5\u5fd7\u6a21\u5757"),"\uff0c\u8f6c\u800c\u63a8\u8350\u5927\u5bb6\u96c6\u6210\u7b2c\u4e09\u65b9\u7ec4\u4ef6\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"p"},"Serilog"),"\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5bfc\u81f4\u540e\u7eed\u65e0\u6cd5\u5b9e\u73b0\u81ea\u5b9a\u4e49\u529f\u80fd\u548c\u4e5f\u589e\u52a0\u4e86\u4e0d\u5c11\u7ef4\u62a4\u6210\u672c\u3002")),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"\u8fd9\u4e00\u6b21\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u4e0d\u518d\u59a5\u534f\uff0c\u5f7b\u5e95\u91cd\u6784\u4e86\u65e5\u5fd7\u6a21\u5757\uff0c\u5b9e\u73b0\u65e5\u5fd7\u529f\u80fd/\u9700\u6c42\u5b8c\u5168\u81ea\u4e3b\u53ef\u63a7\uff0c\u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\u51e0\u4e4e\u6240\u6709\u65e5\u5fd7\u529f\u80fd\u7684\u9700\u6c42\uff01")),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u7684\u4f7f\u7528\u8005\u4eec\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u662f\u65f6\u5019\u201c\u66f4\u6362\u201d\u6389\u7b2c\u4e09\u65b9\u65e5\u5fd7\u7ec4\u4ef6\uff0c\u8ba9\u6211\u4eec\u4e00\u8d77\u8fed\u4ee3\u51fa\u66f4\u5f3a\u66f4\u597d\u7684\u65e5\u5fd7\u7ec4\u4ef6\u5427\uff01")," \ud83c\udf56")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u65e5\u5fd7\u6a21\u5757\uff0c\u5185\u7f6e\u5199\u5165\u63a7\u5236\u53f0\u3001\u6587\u4ef6\u3001\u6570\u636e\u5e93\u529f\u80fd\uff0c\u518d\u4e5f\u65e0\u9700\u5f15\u5165\u7b2c\u4e09\u65b9\u65e5\u5fd7\u4e86\uff01",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Logging"},"\u65e5\u5fd7\u6e90\u7801")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u5f3a\u5927\u7684\u8c03\u8bd5\u65e5\u5fd7 ",(0,l.kt)("inlineCode",{parentName:"strong"},"[LoggingMonitor]")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/32dfc11fd6b47551a81c09e676eb7f5d018ef737"},"32dfc1"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u6a21\u5757\uff0c\u5185\u7f6e\u5199\u5165\u63a7\u5236\u53f0\u3001\u6587\u4ef6\u3001\u6570\u636e\u5e93\u529f\u80fd\uff0c\u518d\u4e5f\u65e0\u9700\u5f15\u5165\u7b2c\u4e09\u65b9\u65e5\u5fd7\u4e86\uff01",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Logging"},"\u65e5\u5fd7\u6e90\u7801"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"TP.Wrapper")," \u89c4\u8303\u5316\u65e5\u5fd7\u6a21\u677f\u7b97\u6cd5\uff0c\u7531\u8fc7\u53bb\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"[\u5c5e\u6027]")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"##\u5c5e\u6027##"),"\uff0c\u89e3\u51b3 ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u5185\u5bb9\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/394ecec28629aee9945480155d502418d0b7a8f8"},"394ecec"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("strong",{parentName:"del"},"\u672a\u6765 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u5c06\u4e0d\u518d\u7ee7\u7eed\u7ef4\u62a4\uff0c\u56e0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6709\u5f3a\u5927\u7684\u65e5\u5fd7\u7ec4\u4ef6\u4e86\uff01"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8131\u654f\u6a21\u5757\u6a21\u578b\u7ed1\u5b9a\u4e2a\u522b\u60c5\u51b5\u4e0b\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5IM5C"},"#I5IM5C")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u6587\u6863\u3001\u9759\u6001\u7c7b\u6587\u6863\u3001\u6570\u636e\u6821\u9a8c\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u6781\u6613\u4f7f\u7528\u4e14\u5f3a\u5927\u7684\u65e5\u5fd7\u6a21\u5757"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'// \u5199\u5165\u6587\u4ef6\nservices.AddFileLogging("logs/application.log");\n\n// \u5199\u5165\u6570\u636e\u5e93\nservices.AddDatabaseLogging();\n')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"/docs/logging"},"\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u6587\u6863"))))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"[LoggingMonitor]")," \u8c03\u8bd5\u65e5\u5fd7"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},"using Furion.Logging;\n\nnamespace Furion.Application;\n\npublic class TestLoggerServices : IDynamicApiController\n{\n [LoggingMonitor]\n public PersonDto GetPerson(int id)\n {\n return new PersonDto\n {\n Id = id\n };\n }\n}\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u652f\u6301\u63a7\u5236\u5668\u3001\u64cd\u4f5c\u6216\u5168\u5c40\u6ce8\u518c\u62e6\u622a"),"\u3002"),(0,l.kt)("p",null,"\u8f93\u51fa\u65e5\u5fd7\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},'\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Logging Monitor \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 Furion.Application.TestLoggerServices.GetPerson (Furion.Application)\n\u2523\n\u2523 \u63a7\u5236\u5668\u540d\u79f0\uff1a TestLoggerServices\n\u2523 \u64cd\u4f5c\u540d\u79f0\uff1a GetPerson\n\u2523 \u8def\u7531\u4fe1\u606f\uff1a [area]: ; [controller]: test-logger; [action]: person\n\u2523 \u8bf7\u6c42\u5730\u5740\uff1a https://localhost:44316/api/test-logger/person/11\n\u2523 \u6765\u6e90\u5730\u5740\uff1a https://localhost:44316/api/index.html\n\u2523 \u6d4f\u89c8\u5668\u6807\u8bc6\uff1a Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62\n\u2523 \u5ba2\u6237\u7aef IP \u5730\u5740\uff1a 0.0.0.1\n\u2523 \u670d\u52a1\u7aef IP \u5730\u5740\uff1a 0.0.0.1\n\u2523 \u670d\u52a1\u7aef\u8fd0\u884c\u73af\u5883\uff1a Development\n\u2523 \u6267\u884c\u8017\u65f6\uff1a 31ms\n\u2523 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u6388\u6743\u4fe1\u606f \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 JWT Token\uff1a Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsIkFjY291bnQiOiJhZG1pbiIsImlhdCI6MTY1ODcxNjc5NywibmJmIjoxNjU4NzE2Nzk3LCJleHAiOjE2NTg3MTc5OTcsImlzcyI6ImRvdG5ldGNoaW5hIiwiYXVkIjoicG93ZXJieSBGdXJpb24ifQ.VYZkwwqCwlUy3aJjuL-og62I0rkxNQ96kSjEm3VgXtg\n\u2523\n\u2523 UserId (integer)\uff1a 1\n\u2523 Account (string)\uff1a admin\n\u2523 iat (integer)\uff1a 1658716797\n\u2523 nbf (integer)\uff1a 1658716797\n\u2523 exp (integer)\uff1a 1658717997\n\u2523 iss (string)\uff1a dotnetchina\n\u2523 aud (string)\uff1a powerby Furion\n\u2523 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u53c2\u6570\u5217\u8868 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 Content-Type\uff1a\n\u2523\n\u2523 id (Int32)\uff1a 11\n\u2523 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u8fd4\u56de\u4fe1\u606f \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 \u7c7b\u578b\uff1a Furion.Application.Persons.PersonDto\n\u2523 \u8fd4\u56de\u503c\uff1a {"Id":11,"Name":null,"Age":0,"Address":null,"PhoneNumber":null,"QQ":null,"CreatedTime":"0001-01-01T00:00:00+00:00","Childrens":null,"Posts":null}\n\u2517\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Logging Monitor \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n')))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v389\u5df2\u53d1\u5e03"},"v3.8.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"ExceptionMetadata")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u90fd\u53ef\u4ee5\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"ErrorCode")," \u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GJ6D"},"#I5GJ6D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"StatusCode")," \u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HB5L"},"#I5HB5L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u5bf9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Url")," \u662f\u5426\u7f16\u7801\u8bbe\u7f6e\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"[Get(WithEncodeUrl = false)]")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"WithEncodeUrl(false)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GOBC"},"#I5GOBC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u66f4\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption.SecurityReadJwtToken('token')")," \u8bfb\u53d6\u89e3\u6790 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/574eeb601294378e68c3d57ceaf6cb17f36636e3"},"574eeb6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValiationTypes.Html")," \u9a8c\u8bc1 ",(0,l.kt)("inlineCode",{parentName:"li"},"Html")," \u6807\u7b7e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBKC"},"#I5HBKC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"https://github.com/efcore/EFCore.NamingConventions"},"EFCore.NamingConventions")," \u652f\u6301\uff0c\u53ef\u81ea\u5b9a\u4e49\u751f\u6210\u8868\u540d\uff0c\u5b57\u6bb5\u540d\u98ce\u683c\uff0c\u6bd4\u5982\u5c0f\u9a7c\u5cf0\uff0c\u86c7\u5f62\u547d\u540d\u7b49 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBEI"},"#I5HBEI"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"INamedServiceProvider")," \u547d\u540d\u670d\u52a1\u63d0\u4f9b\u5668\uff0c\u53ef\u89e3\u6790\u63a5\u53e3\u591a\u5b9e\u73b0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HF98"},"#I5HF98")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8131\u654f\u5904\u7406\u6a21\u5757\u65b9\u6cd5\u53c2\u6570\u5355\u4e2a\u503c\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a22ec3cc3565582eea67052936e788ede8c633cb"},"a22ec3c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8131\u654f\u8bcd\u5e93\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"|")," \u5206\u5272\u8bcd\u8bed ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3106b1d78b27b24f4141f052bf804a201a268ff7"},"3106b1d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET")," \u4f9d\u8d56\u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"6.0.7")," \u7248\u672c"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog.AspNetCore")," \u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"6.0.0")," \u7248\u672c"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5237\u65b0\u903b\u8f91 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GXML"},"#I5GXML")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/574eeb601294378e68c3d57ceaf6cb17f36636e3"},"574eeb6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"ExceptionMetadata")," \u547d\u540d\u7a7a\u95f4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion.FriendlyException"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3105d168db10bfbe6e83fff2e435ba5d9ef62ed5"},"3105d16")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.Invoke(Func...)")," \u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.InvokeAsync(Func...)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3b7899942bb37423c2c4ed313069fe361aabf682"},"3b78999")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u8131\u654f\u5904\u7406\u6a21\u5757\uff0c\u5927\u5927\u63d0\u9ad8\u6027\u80fd\u548c\u51c6\u786e\u7387\uff0c\u540c\u65f6\u652f\u6301\u65b9\u6cd5\u53c2\u6570\u5355\u4e2a\u503c\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a22ec3cc3565582eea67052936e788ede8c633cb"},"a22ec3c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Rider")," \u5f00\u53d1\u5de5\u5177\u5bf9\u540c\u540d\u811a\u624b\u67b6 (",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar"),") \u53ea\u663e\u793a\u4e00\u4e2a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/518"},"!518")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnitOfWork")," \u5de5\u4f5c\u5355\u5143\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u4e2d\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5H0T3"},"#I5H0T3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5982\u679c\u5b58\u5728\u6570\u7ec4\u7c7b\u578b\u7684\u503c\u65f6\uff0c\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u540e\u4e22\u5931\u4e86\u5386\u53f2\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GXML"},"#I5GXML")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"WithEncodeUrl")," \u65e0\u6cd5\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"[HttpMethod]")," \u8bbe\u7f6e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/574eeb601294378e68c3d57ceaf6cb17f36636e3"},"574eeb6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6a21\u5f0f\u4e0b\u6dfb\u52a0\u81ea\u5b9a\u4e49\u914d\u7f6e\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65e0\u6cd5\u83b7\u53d6\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GZ0F"},"#I5GZ0F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Bah")," \u8fdb\u5165\u5168\u5c40\u5f02\u5e38\u62e6\u622a\u5668\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5H47S"},"#I5H47S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AddDbPool/AddDb")," \u6269\u5c55\u672a\u6839\u636e\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Key")," \u8def\u5f84\u8bfb\u53d6\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5H6S4"},"#I5H6S4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/520"},"!520")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValiationTypes.Url")," \u6b63\u5219\u8868\u8fbe\u5f0f\u8986\u76d6\u4e0d\u5168\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBKC"},"#I5HBKC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"v3.5.x")," \u7248\u672c\u5bfc\u81f4\u96c6\u6210 ",(0,l.kt)("a",{parentName:"strong",href:"https://github.com/efcore/EFCore.NamingConventions"},"EFCore.NamingConventions")," \u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBEI"},"#I5HBEI"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u957f\u8def\u7531\u4e0d\u652f\u6301\u95ee\u9898\u4ee5\u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"[Required]")," \u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"AllowEmptyStrings")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c0143300329b5a96a2fbd4d92de109f520674d33"},"c014330")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6\u65f6\u8bf7\u6c42\u62a5\u6587 ",(0,l.kt)("inlineCode",{parentName:"li"},"boundary")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Disposition")," \u8bbe\u7f6e\u4e0d\u6b63\u786e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HEF0"},"#I5HEF0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8131\u654f\u6a21\u5757\u66ff\u6362\u654f\u611f\u8bcd\u6c47\u51fa\u73b0\u591a\u66ff\u6362\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a22ec3cc3565582eea67052936e788ede8c633cb"},"a22ec3c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u591a\u8bed\u8a00\u9ed8\u8ba4\u5904\u7406\u903b\u8f91\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u5141\u8bb8\u4e0d\u914d\u7f6e\u4efb\u4f55\u8bed\u8a00"),"\uff0c\u8fc7\u53bb\u7248\u672c\u4f1a\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GRD9"},"#I5GRD9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5077c5dab9ee94733817f55ff8224b853d0001a3"},"5077c5d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u6027\u80fd"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8c03\u6574 ",(0,l.kt)("inlineCode",{parentName:"li"},"MongoDB")," \u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"TDocument")," \u6cdb\u578b\u7ea6\u675f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3f49055b6b80ef7861f58b0c6feabf5c87a32010"},"3f49055")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\uff0c\u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u591a\u6570\u636e\u5e93\u6587\u6863\u3001PM2 \u90e8\u7f72\u6587\u6863\u3001Visual Studio \u9ad8\u6548\u7387\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v3711\u5df2\u53d1\u5e03"},"v3.7.11\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Minimal API")," \u5e94\u7528\u652f\u6301\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},".AddInjectMini()")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I4KOQ5"},"#I4KOQ5"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8de8\u57df ",(0,l.kt)("inlineCode",{parentName:"li"},"WithExposedHeaders")," \u9ed8\u8ba4\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"access-token")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"x-access-token")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/42ebdfd33a01353a0b3a801528de052990d2e4c9"},"42ebdfd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u811a\u624b\u67b6\u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseHttpLogging()")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HTTP")," \u65e5\u5fd7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/42ebdfd33a01353a0b3a801528de052990d2e4c9"},"42ebdfd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"ASP.NET Core")," \u5b8c\u6574 ",(0,l.kt)("inlineCode",{parentName:"strong"},"json")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON Schema")," \u67b6\u6784 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"},"JSON Schema"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de\u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1d7fb5b5330c5a30098056818a93a0879034fecd"},"1d7fb5b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"ValueTuple")," \u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/876a2f5f7e2d07fa3bbc3f5b99c0653893e0ada8"},"876a2f5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316\u8bbe\u8ba1\u6a21\u5757\uff0c\u652f\u6301\u6bd4 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppStartup")," \u66f4\u7075\u6d3b\u4fbf\u6377\u7684\u8bbe\u8ba1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Components"},"#components")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u72ec\u7acb\u5de5\u4f5c\u5355\u5143\u6a21\u5757\uff0c\u652f\u6301\u4efb\u4f55\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"ORM")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a02413d6887d258ad3a1ba972bb6a08d29291d0c"},"a02413d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8de8\u57df ",(0,l.kt)("inlineCode",{parentName:"li"},"FixedClientToken")," \u914d\u7f6e\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/bd016386681631a5539bcf215c068c2069bba15f"},"bd01638")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"throw Oops.Bah")," \u53ef\u4ee5\u624b\u52a8\u89e6\u53d1\u89c4\u8303\u5316\u9a8c\u8bc1\u5931\u8d25\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83f0036a4ce10c6b1cfc4a258dc61e197af38879"},"83f0036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FriendlyExceptionSettings")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ThrowBah")," \u914d\u7f6e\uff0c\u53ef\u6807\u8bb0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u4e0d\u8fdb\u5165\u5f02\u5e38\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/76ffa7f18d3683ad36e37e5fc90cf54a4b04e520"},"76ffa7f")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Minimal API")," \u5e94\u7528\u652f\u6301\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},".AddInjectMini()")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I4KOQ5"},"#I4KOQ5"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"ASP.NET Core")," \u5b8c\u6574 ",(0,l.kt)("inlineCode",{parentName:"strong"},"json")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON Schema")," \u67b6\u6784 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"},"JSON Schema"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316\u8bbe\u8ba1\u6a21\u5757\uff0c\u652f\u6301\u6bd4 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppStartup")," \u66f4\u7075\u6d3b\u4fbf\u6377\u7684\u8bbe\u8ba1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Components"},"#components")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u72ec\u7acb\u5de5\u4f5c\u5355\u5143\u5355\u5143\u6a21\u5757\uff0c\u652f\u6301\u4efb\u4f55\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"ORM")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a02413d6887d258ad3a1ba972bb6a08d29291d0c"},"a02413d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DataValidationFilter")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"FriendlyExceptionFilter"),"\uff0c\u89e3\u51b3\u4e0d\u652f\u6301\u624b\u52a8\u629b\u51fa\u4e1a\u52a1\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83f0036a4ce10c6b1cfc4a258dc61e197af38879"},"83f0036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},".AddDb<>")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},".AddDbPool<>")," \u81ea\u5b9a\u4e49\u59d4\u6258\u53c2\u6570\u7b7e\u540d\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Action")," \u6539\u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},"Action")))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,5}",showLineNumbers:!0,"{2,5}":!0},"// \u7531\uff1a\noptions.AddDbPool(DbProvider.MySql, opt => {\n});\n// \u6539\u4e3a\noptions.AddDbPool(DbProvider.MySql, (services, opt)=> {\n})\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea ",(0,l.kt)("inlineCode",{parentName:"li"},"v3.6.3")," \u7248\u672c\u4f9d\u8d56\uff0c\u6267\u884c\u539f\u751f ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u6dfb\u52a0\u4e86\u53c2\u6570\u6821\u9a8c\u5bfc\u81f4\u5b58\u50a8\u8fc7\u7a0b\u6267\u884c\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5ERMQ"},"#I5ERMQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"tools/cli.ps1")," \u811a\u672c\u5de5\u5177\u51fa\u73b0\u6570\u636e\u5e93\u94fe\u63a5\u88ab\u5360\u7528\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTSettings")," \u7b97\u6cd5\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u9519\u8bef\u95ee\u9898\uff0c\u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/gitwentao"},"@gitwentao")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5G27B"},"#I5G27B")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/516"},"!516")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u57fa\u4e8e\u7b56\u7565\u6388\u6743\u5728\u4e0d\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Policy")," \u7684\u60c5\u51b5\u4e0b\u51fa\u73b0\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5EVF2"},"#I5EVF2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u542f\u7528\u6570\u636e\u5e93\u5b9e\u4f53\u8ddf\u8e2a\u65f6\u5bfc\u81f4\u65b0\u589e\u5b9e\u4f53\u591a\u6b21\u67e5\u8be2\u6570\u636e\u5e93\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4J2LZ"},"#I4J2LZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e0d\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u5bfc\u81f4\u9a8c\u8bc1\u5931\u6548\uff0c\u5f02\u5e38\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/cdb3f570ab72cff0a5327a717f85c48e153211be"},"cdb3f57")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9a8c\u8bc1\u5f02\u5e38\u548c\u53cb\u597d\u5f02\u5e38\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83f0036a4ce10c6b1cfc4a258dc61e197af38879"},"83f0036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"CentOS 7.9")," \u7cfb\u7edf\u90e8\u7f72\u65e0\u6cd5\u6307\u5b9a\u547d\u4ee4 ",(0,l.kt)("inlineCode",{parentName:"li"},"--urls")," \u53c2\u6570\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8cc8eeff6b5b25de42367884b7c91d419557d054"},"8cc8ee")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u811a\u624b\u67b6\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u6587\u4ef6\uff0c\u9ed8\u8ba4\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u652f\u6301"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316\u542f\u52a8\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Vue/React/Angular")," \u8bf7\u6c42\u4ee3\u7406\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u6587\u6863\uff0c\u652f\u6301\u914d\u7f6e\u667a\u80fd\u63d0\u793a\u548c\u9a8c\u8bc1"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8de8\u57df\u6587\u6863\u3001\u89c4\u8303\u5316\u6587\u6863\u3001\u914d\u7f6e\u6587\u6863\u3001\u65e5\u5fd7\u6587\u6863\u3001IIS \u90e8\u7f72\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON Schema")," \u652f\u6301\uff0c\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"strong"},".json")," \u6587\u4ef6\u652f\u6301\u667a\u80fd\u63d0\u793a\u548c\u9a8c\u8bc1"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2}",showLineNumbers:!0,"{2}":!0},'{\n "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",\n\n "Logging": {\n "LogLevel": {\n "Default": "Information",\n "Microsoft": "Warning",\n "Microsoft.Hosting.Lifetime": "Information",\n "Microsoft.EntityFrameworkCore": "Information"\n }\n },\n "AllowedHosts": "*"\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/js1.png")}),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"./jsonschema"},"\u67e5\u770b\u66f4\u591a ",(0,l.kt)("inlineCode",{parentName:"a"},"JSON Schema")," \u6587\u6863"))))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u6839\u636e ",(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Vue/React/Angular")," \u524d\u7aef\u8bf7\u6c42\u4ee3\u7801"))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"./clientapi"},"\u67e5\u770b\u6587\u6863"))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de\u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {7-9}",showLineNumbers:!0,"{7-9}":!0},'public interface ISql : ISqlDispatchProxy\n{\n // \u96c6\u5408\u7c7b\u578b\n [SqlExecute("select * from person")]\n List GetPersons();\n\n // \u81ea v3.7.3+ \u7248\u672c\u652f\u6301\u8fd4\u56de\u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570\n [SqlExecute("select * from person where id=@id")]\n Person GetPerson(int id);\n}\n')))),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"strong"},"ValueTuple")," \u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3-6}",showLineNumbers:!0,"{3-6}":!0},'public interface ISql : ISqlDispatchProxy\n{\n [SqlExecute(@"\n select * from person where id =@id;\n select * from person")]\n (Person, List) GetData(int id); // \u6ce8\u610f\u8fd4\u56de\u503c\u662f `(Person, List)` \u7ec4\u5408\n}\n')))),(0,l.kt)("ol",{start:5},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Minimal API")," \u5e94\u7528"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0"},"\u4e86\u89e3 ",(0,l.kt)("inlineCode",{parentName:"a"},"Minimal API")," \u5e94\u7528"))),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3-4,10,12-15}",showLineNumbers:!0,"{1,3-4,10,12-15}":!0},'var builder = WebApplication.CreateBuilder(args).Inject();\n\n// \u6ce8\u518c Minimal \u670d\u52a1\nbuilder.Services.AddInjectMini();\n\nvar app = builder.Build();\n\napp.UseHttpsRedirection();\n\napp.UseInject(string.Empty);\n\napp.MapGet("/hello", () =>\n{\n return "Hello, Furion";\n});\n\napp.Run();\n')))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v369\u5df2\u53d1\u5e03"},"v3.6.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6781\u7b80\u4e3b\u673a\u6a21\u5f0f\uff0c\u771f\u6b63\u5b9e\u73b0\u6781\u901f\u5165\u95e8\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/95cac5b391b70d73bfc94147ee40eef529b2eec6"},"95cac5b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"TP.Wrapper(...)")," \u62d3\u5c55\u65b9\u6cd5\uff0c\u4e3b\u8981\u7528\u6765\u751f\u6210\u89c4\u8303\u5316\u7684\u65e5\u5fd7\u6a21\u677f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/427999aba4847522ea91c42df6164e5fe69c5bc0"},"427999a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9879\u76ee\u7c7b\u578b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},'')," \u7684\u63a7\u5236\u53f0\u9879\u76ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/fb08a6548d49921aa143d01389a2592b92e94e31"},"fb08a65")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"BadPageResult")," \u9519\u8bef\u9875\u9762\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/494"},"!494")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SchemaId]")," \u7279\u6027\uff0c\u89e3\u51b3\u4e0d\u540c\u7a0b\u5e8f\u96c6\u76f8\u540c\u7684\u7c7b\u540d\u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"SchemaId")," \u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5D3CU"},"#I5D3CU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"options.ApproveAllCerts()")," \u5ffd\u7565\u6240\u6709\u5ba2\u6237\u7aef\u8bc1\u4e66\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/eb7d18ac183894d604cec1d4c8527466ef9c648a"},"eb7d18a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5224\u65ad\u662f\u5426\u662f\u5355\u6587\u4ef6\u73af\u5883\u90e8\u7f72\u9759\u6001\u5c5e\u6027 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.SingleFileEnvironment")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/de556f0aaf87c41fe01cca2655f086890b2638a0"},"de556f0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApplicationBuilder.UseSerilogDefault()")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e02524c8a15fd660b6359285ef07a697878e6678"},"e02524c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9879\u76ee\u7c7b\u578b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},'')," \u7684\u63a7\u5236\u53f0\u9879\u76ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/fb08a6548d49921aa143d01389a2592b92e94e31"},"fb08a65")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6781\u7b80\u4e3b\u673a\u6a21\u5f0f\uff0c\u771f\u6b63\u5b9e\u73b0\u6781\u901f\u5165\u95e8\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/95cac5b391b70d73bfc94147ee40eef529b2eec6"},"95cac5b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u672a\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65f6\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"BadPageResult()")," \u9875\u9762\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/494"},"!494")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u9ed8\u8ba4\u6ce8\u518c\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddResponseCaching();")," \u670d\u52a1\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},".axd")," \u5185\u5d4c\u8d44\u6e90\u8bf7\u6c42\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/495"},"!495")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u5fc5\u987b\u8981\u6c42\u547d\u4ee4\u53c2\u6570\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u8bed\u8a00\u53c2\u6570\u6570\u91cf\u4e00\u81f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5D057"},"#I5D057")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IHostService")," \u7c7b\u578b\u4e0d\u80fd\u81ea\u52a8\u6ce8\u518c\u95ee\u9898\uff0c\u4e4b\u524d\u53ea\u626b\u63cf\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"BackgroundService")," \u6d3e\u751f\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/968344aa07348f4c06f914abf7b6f46174633d81"},"968344")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u56fd\u4ea7\u82af\u7247\u4e3b\u673a\u4e0d\u80fd\u8bc6\u522b ",(0,l.kt)("inlineCode",{parentName:"li"},"dotnet run --urls")," \u53c2\u6570\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6d43983781e0c41228c4917a242141d011088bdb"},"6d4398")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6\u4e0d\u652f\u6301\u7279\u5b9a\u6587\u4ef6\u540e\u7f00\u95ee\u9898\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},".pem")," \u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ba42198c1cd58612f2b383349c37068aac78cdd7"},"ba42198")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e00\u4e9b\u7a0b\u5e8f\u96c6\u5df2\u7834\u574f\u6216\u7a0b\u5e8f\u96c6\u4e0d\u5b8c\u6574\u5bfc\u81f4\u4e3b\u673a\u65e0\u6cd5\u542f\u52a8\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d2dc3e4d09e726699c38ebb8cb7b83de0e97f46f"},"d2dc3e4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"headers")," \u65f6\u7c7b\u578b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Dictionary")," \u5bfc\u81f4\u8f6c\u6362\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5DHL9"},"#I5DHL9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog")," \u5355\u6587\u4ef6\u53d1\u5e03\u4e0d\u751f\u6210\u65e5\u5fd7\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5DQ2B"},"I5DQ2B")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8fdc\u7a0b\u8bf7\u6c42\u9ed8\u8ba4\u5ba2\u6237\u7aef\u4e0d\u68c0\u67e5 ",(0,l.kt)("inlineCode",{parentName:"li"},"SSL")," \u8bc1\u4e66 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/eb7d18ac183894d604cec1d4c8527466ef9c648a"},"eb7d18a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5f00\u653e\u9a8c\u8bc1\u670d\u52a1\u9009\u9879 ",(0,l.kt)("inlineCode",{parentName:"li"},"SuppressModelStateInvalidFilter")," \u5c5e\u6027\u4e3a\u53ef\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/495"},"!494")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"TP")," \u5168\u5c40\u9759\u6001\u7c7b\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e2d\u95f4\u4ef6\u6587\u6863\u3001\u7b5b\u9009\u5668\u6587\u6863\u3001\u5ba1\u8ba1\u65e5\u5fd7\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8de8\u57df\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7cbe\u5f69\u8d21\u732e")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/494"},"!494")," \u4f18\u79c0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Pull Request")," \u8fa9\u8bba\u5178\u8303"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u6781\u901f\u5165\u95e8"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:'showLineNumbers title="Program.cs" {3,6}',showLineNumbers:!0,title:'"Program.cs"',"{3,6}":!0},'Serve.Run();\n\n[DynamicApiController]\npublic class HelloService\n{\n public string Say()\n {\n return "Hello, Furion";\n }\n}\n')),(0,l.kt)("p",null,"\u542f\u52a8\u6d4f\u89c8\u5668\u67e5\u770b\u6548\u679c\uff0c\u60ca\u5446\u4e86\u5417\uff01"),(0,l.kt)("img",{src:(0,p.Z)("img/07.png")}))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5185\u7f6e\u9519\u8bef\u9875"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers{1,7}","showLineNumbers{1,7}":!0},"using Furion.FriendlyException;\n\npublic IActionResult Add(Person person)\n{\n if(!ModelState.IsValid)\n {\n return new BadPageResult();\n }\n}\n")),(0,l.kt)("img",{src:(0,p.Z)("img/er1.png")}))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Markdown")))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4-62}",showLineNumbers:!0,"{4-62}":!0},'/// \n/// \u6d4b\u8bd5 Markdown\n/// \n/// \n/// # \u6d4b\u8bd5 `Markdown` \u6ce8\u91ca\n///\n/// ![](https://localhost:44316/images/logo.png)\n///\n/// ```cs\n/// Serve.Run();\n///\n/// [DynamicApiController\n/// public class HelloService\n/// {\n/// public string Say()\n/// {\n/// return nameof(Furion);\n/// }\n/// }\n/// ```\n///\n/// \u529f\u80fd\u8fd8\u4e0d\u9519\uff01\uff01\uff01\n///\n/// | \u5546\u54c1 | \u4ef7\u683c | # \u5176\u4ed6 |\n/// |--------------|-----------|------------|\n/// | Juicy Apples | 1.99 | *7* |\n/// | Bananas | **1.89** | 5234 |\n/// | Bananas | **1.89** | 5234 |\n/// | Bananas | **1.89** | 5234 |\n///\n/// -----\n///\n/// # Furion \u63a2\u7d22\u7248\n///\n/// > \u5728\u8fc7\u53bb\u4e00\u5e74\uff0c\u5b9e\u73b0 `Furion` \u4ece\u65e0\u5230\u6709\uff0c\u7f16\u5199\u6587\u6863\u5df2\u903e\u767e\u4e07\u5b57\uff0c\u8fc7\u7a0b\u5fc3\u9178\u5f00\u6e90\u4eba\u81ea\u77e5\u3002\n/// >\n/// > \u8fd9\u4e00\u8def\u65e5\u591c\u517c\u7a0b\uff0c\u5632\u8bbd\u6279\u8bc4\u5e38\u4f34\u773c\u8033\uff0c\u5373\u4fbf\u8f9b\u82e6\u65e0\u5948\u3001\u60f3\u8fc7\u653e\u5f03\uff0c\u4f46\u4e3a\u4e86\u90a3\u5fae\u4e0d\u8db3\u9053\u7684\u5b58\u5728\u611f\u4f9d\u7136\u52aa\u529b\u7740\u3002\n/// >\n/// > \u5f53\u7136\uff0c\u4e5f\u6536\u83b7\u4e86\u4e0d\u5c11...\u8d8a\u6765\u8d8a\u591a\u62e5\u8db8\u8005\uff0c\u8d8a\u53d1\u7cbe\u6e5b\u6280\u672f\u80fd\u529b\uff0c\u66f4\u9ad8\u5c42\u6b21\u601d\u7ef4\u6a21\u5f0f\uff0c\u8fd8\u6709\u8bb8\u591a\u8de8\u754c\u8de8\u884c\u670b\u53cb\u3002\n/// >\n/// > \u5728 \u300a[\u5f00\u6e90\u6307\u5317] (https://gitee.com/opensource-guide/comments/)\u300b\u4e2d\uff0c\u6211\u66fe\u8bf4\u9053\uff1a\u201c\u5f00\u6e90\u5982\u540c\u4eba\u7684\u8138\uff0c\u597d\u574f\u4e00\u9762\u4fbf\u77e5\uff0c\u7f3a\u70b9\u53ef\u80fd\u4f1a\u53d7\u5230\u5632\u8bbd\u6279\u8bc4\uff0c\u4f18\u70b9\u4e5f\u4f1a\u6536\u83b7\u8d5e\u626c\u5c0a\u91cd\u3002\u522b\u62c5\u5fc3\uff0c\u4ed6\u4eec\u6b63\u5728\u5851\u9020\u66f4\u597d\u7684\u4f60\u3002\u201d\n/// >\n/// > \u6240\u4ee5\uff0c\u8fd9\u4e00\u6b21\u91cd\u65b0\u8d77\u822a\uff0c\u91cd\u5851 `Furion` \u91cd\u5851\u81ea\u5df1\u3002\u4e5f\u8bb8\u672a\u6765\u5728\u67d0\u4e2a IT \u5708\u4f46\u51e1\u6709\u4eba\u8c08\u8d77 `.NET` \u8fd8\u80fd\u779f\u5230 `Furion` \u7684\u8eab\u5f71\u3002\n///\n/// ---\n///\n/// \ud83c\udf89 \u63a2\u7d22 Furion \u672a\u6765\u66f4\u591a\u53ef\u80fd\u6027\uff0c\u5b9e\u73b0\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u7248\u672c\uff0c\u6240\u6709\u6a21\u5757\u529f\u80fd\u6309\u9700\u5b89\u88c5\uff0c\u6309\u9700\u52a0\u8f7d\u3002\n///\n/// - \u4f5c\u8005\uff1a[\u767e\u5c0f\u50e7] (https://gitee.com/monksoul)\n/// - \u65e5\u671f\uff1a2021 \u5e74 08 \u6708 30 \u65e5\n///\n/// ## \u73af\u5883\n///\n/// - IDE \uff1a[Microsoft Visual Studio Enterprise 2022 Preview(64 \u4f4d) \u7248\u672c 17.0.0 Preview 3.1] (https://visualstudio.microsoft.com/zh-hans/vs/preview/)\n/// - SDK \uff1a[.NET SDK 6] (https://dotnet.microsoft.com/download/dotnet/6.0)\n/// - \u8bed\u8a00\uff1a[C# 10](https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-10)\n///\n/// ## \u5305\u8bf4\u660e\n///\n/// - `Furion.Core`\uff1a\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\uff0c\u53ef\u5728 `.NET 6` \u6240\u6709\u9879\u76ee\u7c7b\u578b\u4e2d\u8fd0\u884c\u3002\n/// - `Furion`\uff1a\u5185\u90e8\u4f9d\u8d56 `Furion.Core` \u4e14\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\uff0c**\u805a\u7126 `Web` \u5e94\u7528**\uff0c\u91c7\u7528\u5171\u4eab\u6846\u67b6 `` \u6a21\u5f0f\n/// \npublic void MarkdownTest()\n{\n // ....\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/mdx2.png")}))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v357\u5df2\u53d1\u5e03"},"v3.5.7\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Options")," \u9009\u9879\u5c5e\u6027\u652f\u6301\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"Key")," \u540d\u79f0\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},'[MapSettings("key")]')," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5B2HN"},"#I5B2HN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\u4e8b\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Id")," \u652f\u6301\u679a\u4e3e\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2f328aa8213c8efe7a8480116985573cc6b7fce6"},"2f328aa")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\u53d1\u5e03\u8005 ",(0,l.kt)("inlineCode",{parentName:"li"},"PublishAsync")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"PublishDelayAsync")," \u91cd\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2f328aa8213c8efe7a8480116985573cc6b7fce6"},"2f328aa")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\u62d3\u5c55\u65b9\u6cd5\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Enum.ParseToString()")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"String.ParseToEnum()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2f328aa8213c8efe7a8480116985573cc6b7fce6"},"2f328aa")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"SqlSugar")," \u811a\u624b\u67b6")," \ud83c\udd95\ud83c\udd95\ud83c\udd95 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8d9293d1188670626f017ccea4ffb85ac315d2fc"},"8d9293d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u5168\u5c40\u914d\u7f6e\u59d4\u6258 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5AYFX"},"#I5AYFX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u8f6c\u5b9e\u4f53\u652f\u6301\u591a\u79cd\u547d\u540d\u7b56\u7565\uff08\u7eaf\u5927\u5199\uff0c\u7eaf\u5c0f\u5199\uff0c\u5e26\u4e0b\u5212\u7ebf\u5206\u5272\u7b49\u7b49\uff09\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a90e24516387e088b2c427e6b99d3dab937116c9"},"a90e245")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FS.InitalContentTypeProvider()")," \u62d3\u5c55\u65b9\u6cd5\uff0c\u83b7\u53d6\u7cfb\u7edf\u5185\u6240\u6709\u652f\u6301\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u6587\u4ef6\u63d0\u4f9b\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6099900472d93dab7012f0b091b05c914be11c4a"},"6099900")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f7b\u5e95\u89e3\u51b3\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u4e0d\u80fd\u5355\u6587\u4ef6\u53d1\u5e03\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7e8e0b708bcdac670aa835dec5cd494d41ff3648"},"7e8e0b7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller")," \u6d3e\u751f\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"api")," \u8def\u7531\u95ee\u9898\uff0c\u539f\u751f ",(0,l.kt)("inlineCode",{parentName:"li"},"ASP.NET")," \u662f\u652f\u6301\u7684 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/29e47bce3678767c4793ad254777704ab9dd7e03"},"29e47bc")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u57fa\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u591a\u79df\u6237\u914d\u7f6e\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f820ce0f28dd27a6e265b969b5b4095de676106"},"6f820ce")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6307\u5b9a\u5b9e\u4f53 ",(0,l.kt)("inlineCode",{parentName:"li"},'[Table(schema:"dbo")]')," \u7279\u6027\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f820ce0f28dd27a6e265b969b5b4095de676106"},"6f820ce")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u89c6\u56fe\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u914d\u7f6e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f820ce0f28dd27a6e265b969b5b4095de676106"},"6f820ce")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u6781\u7aef\u60c5\u51b5\u4e0b\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7a7a\u5f02\u5e38")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c9b0ef09427418e2ccb88d3a4c02e7a29d9d510e"},"c9b0ef")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"axios-utils.ts")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"angular-utils.ts")," \uff0c\u65b0\u589e\u8bf7\u6c42\u62e6\u622a\u643a\u5e26\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u7684\u65f6\u673a\u5224\u65ad ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/82f89bd95573aefa7075676af7f00c55507cb03b"},"82f89bd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u52a0\u8f7d\u7ee7\u627f\u6ce8\u91ca ",(0,l.kt)("inlineCode",{parentName:"li"},"")," \u6027\u80fd\u5c0f\u4f18\u5316 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5f06880564ee8cd2e77caa5957ff18a0c489bdd2"},"5f06880")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u811a\u624b\u67b6\u6a21\u677f\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings.cs")," \u6a21\u5f0f"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5bf9\u8c61\u6620\u5c04\u9ed8\u8ba4\u652f\u6301\u5ffd\u7565\u5927\u5c0f\u5199 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/486"},"!486")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5355\u6587\u4ef6\u53d1\u5e03\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion + SqlSugar")," \u811a\u624b\u67b6\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001\u9009\u9879\u6587\u6863\u3001\u5373\u65f6\u901a\u8baf\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},".NET5")," \u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u6587\u6863\u3001\u4f9d\u8d56\u6ce8\u5165\u6587\u6863\u3001\u8de8\u57df\u6587\u6863\u3001\u6570\u636e\u52a0\u89e3\u5bc6\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"Id")," \u652f\u6301\u679a\u4e3e\u7c7b\u578b"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {7,10}",showLineNumbers:!0,"{7,10}":!0},'EventSubscribe("TO:DO")] // \u5b57\u7b26\u4e32\u7c7b\u578b\npublic async Task EventHandler1(EventHandlerExecutingContext context)\n{\n // ....\n}\n\n[EventSubscribe(YourEnum.Some)] // \u679a\u4e3e\u7c7b\u578b\npublic async Task EventHandler2(EventHandlerExecutingContext context)\n{\n var eventEnum = context.Source.EventId.ParseToEnum(); // \u5c06\u4e8b\u4ef6 Id \u8f6c\u6362\u6210\u679a\u4e3e\u5bf9\u8c61\n // ....\n}\n')))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf\u53d1\u5e03\u652f\u6301\u66f4\u7b80\u5355\u8c03\u7528"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,6}",showLineNumbers:!0,"{5,6}":!0},'// \u65e7\u7248\u672c\nawait _eventPublisher.PublishAsync(new ChannelEventSource("ToDo:Create", name));\n\n// \u65b0\u7248\u672c\nawait _eventPublisher.PublishAsync("ToDo:Create", name);\nawait _eventPublisher.PublishAsync(YourEnum.Some); // \u4e5f\u652f\u6301\u679a\u4e3e\n')))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u9009\u9879\u652f\u6301\u5c5e\u6027\u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"strong"},"Key")))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {4}",showLineNumbers:!0,"{4}":!0},'"AppInfo": {\n "Name": "Furion",\n "Version": "1.0.0",\n "Company_Name": "Baiqian" // \u53ef\u4ee5\u548c\u5c5e\u6027\u4e0d\u4e00\u6837\n}\n')),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {6,7}",showLineNumbers:!0,"{6,7}":!0},'public class AppInfoOptions : IConfigurableOptions\n{\n public string Name { get; set; }\n public string Version { get; set; }\n\n [MapSettings("Company_Name")] // \u652f\u6301\u81ea\u5b9a\u4e49\n public string Company { get; set; }\n}\n')))),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u89c4\u8303\u5316\u6a21\u677f"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2}",showLineNumbers:!0,"{2}":!0},'// \u751f\u6210\u6a21\u677f\u5b57\u7b26\u4e32\nvar template = TP.Wrapper("Furion \u6846\u67b6", "\u8ba9 .NET \u5f00\u53d1\u66f4\u7b80\u5355\uff0c\u66f4\u901a\u7528\uff0c\u66f4\u6d41\u884c\u3002",\n "[\u4f5c\u8005] \u767e\u5c0f\u50e7",\n "[\u5f53\u524d\u7248\u672c] v3.5.3",\n "[\u6587\u6863\u5730\u5740] https://furion.icu",\n "[Copyright] \u767e\u5c0f\u50e7, Baiqian Co.,Ltd.");\nConsole.WriteLine(template);\n')),(0,l.kt)("p",null,"\u8f93\u51fa\u7ed3\u679c"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Furion \u6846\u67b6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 \u8ba9 .NET \u5f00\u53d1\u66f4\u7b80\u5355\uff0c\u66f4\u901a\u7528\uff0c\u66f4\u6d41\u884c\u3002\n\u2523\n\u2523 \u4f5c\u8005\uff1a \u767e\u5c0f\u50e7\n\u2523 \u5f53\u524d\u7248\u672c\uff1a v3.5.3\n\u2523 \u6587\u6863\u5730\u5740\uff1a https://furion.icu\n\u2523 Copyright\uff1a \u767e\u5c0f\u50e7, Baiqian Co.,Ltd.\n\u2517\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Furion \u6846\u67b6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v342\u5df2\u53d1\u5e03"},"v3.4.2\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},"EnableAllGroups")," \u529f\u80fd\uff0c\u53ef\u4ee5\u5c06\u591a\u4e2a\u5206\u7ec4\u5408\u5e76\u5230\u4e00\u4e2a\u5206\u7ec4\u4e2d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9277b982ce024bac8ab5117ba02c3bd96ad07972"},"9277b98")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"angular-utils")," \u5ba2\u6237\u7aef\u5de5\u5177\u5e93\uff0c\u4e13\u95e8\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"angular")," \u9879\u76ee\u63a5\u53e3\u4ee3\u7406\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6c705848a77fbf7234070d0ef9f053a85cc8838a"},"6c70584")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u652f\u6301\u5355\u4e2a\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0\u529f\u80fd\uff08\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"html"),"\uff09",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e5e1db09710dab02966330063935bd5e5b7e4dc8"},"e5e1db0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Obsolete]")," \u8fc7\u65f6\u652f\u6301\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e5e1db09710dab02966330063935bd5e5b7e4dc8"},"e5e1db0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"API")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiDescriptionSettings]")," \u7279\u6027 \u548c",(0,l.kt)("inlineCode",{parentName:"li"},"DynamicApiControllerSettings")," \u914d\u7f6e \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ForceWithRoutePrefix")," \u53c2\u6570\uff0c\u652f\u6301\u5f3a\u5236\u590d\u5199 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Route]")," \u7279\u6027\u5e76\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"DefaultRoutePrefix")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59B74"},"#I59B74")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9ed8\u8ba4\u5185\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"GBK"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Windows-1252"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"Shift-JIS"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"GB2312")," \u7b49\u7f16\u7801\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c456ecb225b099e5d24add32024f16c359414532"},"c456ecb")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u811a\u624b\u67b6"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"")," \u4e0d\u80fd\u8de8\u7a0b\u5e8f\u96c6\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3b9d39ce691f9505c5541a790103fbb0ba6d35af"},"3b9d39c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"")," \u4e0d\u652f\u6301\u5e26\u53c2\u6570\uff0c\u4e0d\u652f\u6301\u9690\u5f0f\u5b9e\u73b0\u63a5\u53e3\u6ce8\u91ca\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59A6W#note_10699021_link"},"#I59A6W#note_10699021")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"v3.3.1")," \u7248\u672c\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u80fd\u663e\u793a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/676335264478d68b99db009d32b65de781702605"},"6763352")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"JSON"),"\u4ee5\u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"Web")," \u9875\u9762\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"GBK"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"GB2312")," \u7b49\u56fd\u6807\u7f16\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c456ecb225b099e5d24add32024f16c359414532"},"c456ecb")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u54cd\u5e94\u62a5\u6587\u8bbe\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type:charset=")," \u4e0d\u80fd\u81ea\u52a8\u8f6c\u6362\u7f16\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c456ecb225b099e5d24add32024f16c359414532"},"c456ecb")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"axios-utils.ts")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"angular-utils.ts")," \u591a\u5ba2\u6237\u7aef\u652f\u6301"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings")," \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/blog/global-usings"},"\u6587\u6863\u5730\u5740")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8bf7\u6c42\u5927\u5c0f/\u4e0a\u4f20\u5927\u5c0f\u9650\u5236\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/docs/file-provider/#317-%E8%AF%B7%E6%B1%82%E5%A4%A7%E5%B0%8F%E6%8E%A7%E5%88%B6%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E6%8E%A7%E5%88%B6"},"\u6587\u6863\u5730\u5740")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c4\u8303\u5316\u6587\u6863\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u6587\u6863\uff0c\u52a8\u6001 API \u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"All Groups")," \u5206\u7ec4\u529f\u80fd"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u4e3a\u4e86\u66f4\u597d\u7684\u5bf9\u63a5\u53e3\u8fdb\u884c\u5f52\u7c7b\uff0c\u914d\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"Swagger")," \u591a\u4e2a\u5206\u7ec4\u7684\u529f\u80fd\uff0c\u4f46\u8fd9\u6837\u4e5f\u5bf9\u751f\u6210\u5ba2\u6237\u7aef\u8bf7\u6c42\u4ee3\u7801\u9020\u6210\u4e86\u56f0\u6270\uff0c\u6240\u4ee5\u6dfb\u52a0\u4e86\u65b0\u7684\u914d\u7f6e\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-3}",showLineNumbers:!0,"{2-3}":!0},'{\n "SpecificationDocumentSettings": {\n "EnableAllGroups": true\n }\n}\n')))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u63a5\u53e3\u8fc7\u65f6\u63a7\u5236"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u5f53\u6211\u4eec\u67d0\u4e2a\u63a5\u53e3\u5df2\u7ecf\u8fc7\u65f6\uff0c\u63d0\u793a\u5c3d\u65e9\u8c03\u7528\u6700\u65b0\u63a5\u53e3\uff0c\u53ea\u9700\u8981\u5728\u65b9\u6cd5\u4e0a\u9762\u8d34 ",(0,l.kt)("inlineCode",{parentName:"p"},"[Obsolete]")," \u5373\u53ef\uff0c\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},'[Obsolete("GetName() \u5df2\u7ecf\u8fc7\u65f6\uff0c\u8bf7\u8c03\u7528 GetFrameworkName() \u66ff\u4ee3")]\npublic string GetName()\n{\n return nameof(Furion);\n}\n\n[Obsolete]\npublic string Other()\n{\n // ...\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/swg2.png")}))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u5728\u8be5\u7248\u672c\u65b0\u589e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"[ApiDescriptionSettings]")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"Description")," \u5c5e\u6027\uff0c\u652f\u6301\u5b9a\u4e49\u66f4\u591a\u63cf\u8ff0\uff0c\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'[ApiDescriptionSettings(Description = "\u6211\u662f\u4e00\u6bb5\u63cf\u8ff0\uff0c\u663e\u793a\u66f4\u591a\u5185\u5bb9 ")]\npublic string add()\n{\n //....\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/swg1.png")}))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v333\u5df2\u53d1\u5e03"},"v3.3.3\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u4ef6\u4e0a\u4f20\u81ea\u52a8\u8bc6\u522b ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Mime")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I57ZMN"},"#I57ZMN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u65b9\u6cd5\u652f\u6301\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Encoding")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I57ZMN"},"#I57ZMN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6839\u636e\u6587\u4ef6\u540d\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Mime")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8f78184f8661830744592c054b65d503346c1b27"},"#8f78184")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863\u652f\u6301\u6388\u6743\u8bbf\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/32aa3b6328d23a5885033837883c7b546e898d43"},"#32aa3b6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4ee3\u7801\u6ce8\u91ca\uff0c\u89c4\u8303\u5316\u6587\u6863\u6ce8\u91ca ",(0,l.kt)("inlineCode",{parentName:"li"},"inheritdoc")," \u8bed\u6cd5\u652f\u6301 \u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59A6W"},"#159A6W")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"Vue2/3"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"React 16.8+"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Angular 9+")," \u524d\u7aef\u8bf7\u6c42\u5de5\u5177\u5e93\uff0c\u5b9e\u73b0\u540e\u7aef API \u4ee3\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/clients/axios"},"axios-utils")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4ee3\u7801\u6ce8\u91ca\uff0c\u89c4\u8303\u5316\u6587\u6863\u6ce8\u91ca ",(0,l.kt)("inlineCode",{parentName:"li"},"inheritdoc")," \u8bed\u6cd5\u652f\u6301 \u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59A6W"},"#159A6W")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET")," \u6240\u6709\u4f9d\u8d56\u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"v6.0.5")," \u7248\u672c"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38 ",(0,l.kt)("inlineCode",{parentName:"li"},"Exception")," \u540e\u5bfc\u81f4\u83b7\u53d6\u9519\u8bef\u884c\u53f7\uff0c\u6587\u4ef6\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I53EGM"},"#I53EGM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u914d\u7f6e\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4f20\u9012\u7a7a\u59d4\u6258\u5bfc\u81f4\u7a7a\u5f15\u7528\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I519AW"},"#I519AW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b57\u7b26\u4e32\u6a21\u677f\u6a21\u677f ",(0,l.kt)("inlineCode",{parentName:"li"},"Render")," \u62d3\u5c55\u65b9\u6cd5\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"void")," \u95ee\u9898\uff0c\u5e94\u8be5\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"string")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/MonkSoul/Furion/issues/99#issuecomment-1073131906"},"Github-#99")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u4ef6\u4e0a\u4f20\u51fa\u73b0\u7a7a\u60c5\u51b5\u95ee\u9898\uff08\u539f\u56e0\u662f\u7f3a\u5931 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \uff09",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I57ZMN"},"I57ZMN")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6846\u67b6\u6e90\u7801\u5f15\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings")," \u673a\u5236\uff0c\u51cf\u5c11\u4ee3\u7801\u4f53\u79ef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7e9cc1c205750906cddd540ad08a4c02f14efa3a"},"#7e9cc1c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8de8\u57df\u8bf7\u6c42\u7684\u9884\u68c0\u8bbe\u7f6e\uff0c\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5219\u9ed8\u8ba4\u4e3a 24 \u5c0f\u65f6\uff0c\u4e3b\u8981\u89e3\u51b3\u524d\u7aef\u591a\u6b21\u53d1\u9001 204 \u9884\u68c0\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a11e7c9fa20b4419ac00f6ad21c078500d00791"},"4a11e7c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c6\u56fe\u5f15\u64ce\u53cd\u5c04\u6027\u80fd"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7c98\u571f\u5bf9\u8c61\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u914d\u7f6e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u524d\u7aef\u89e3\u5bc6 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"byte[]")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"url")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u90e8\u7f72\u6587\u6863\uff0c\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\uff0c\u6587\u4ef6\u4e0a\u4f20\u6587\u6863\uff0c\u5b89\u5168\u6388\u6743\u6587\u6863\u3001\u89c4\u8303\u5316\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("strong",{parentName:"li"},"\u6839\u636e\u6587\u4ef6\u540d\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"MIME")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Content-Type")," \u7c7b\u578b"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'var success = FS.TryGetContentType("image.png", out var contentType); // image/png\n')),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u914d\u7f6e\u767b\u5f55\u540e\u624d\u80fd\u8bbf\u95ee"))),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-6}",showLineNumbers:!0,"{2-6}":!0},'{\n "SpecificationDocumentSettings": {\n "LoginInfo": {\n "Enabled": true,\n "CheckUrl": "\u68c0\u67e5\u767b\u5f55\u5730\u5740",\n "SubmitUrl": "\u63d0\u4ea4\u767b\u5f55\u5730\u5740"\n }\n }\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/swgdl.png")}),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"./specification-document#6529-%E5%B8%A6%E7%99%BB%E5%BD%95%E7%9A%84-swagger-%E6%96%87%E6%A1%A3"},"\u67e5\u770b\u8be6\u7ec6\u6587\u6863")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301\u4ee3\u7801\u6ce8\u91ca\u7ee7\u627f\uff0cSwagger \u6587\u6863\u6ce8\u91ca\u4e5f\u652f\u6301"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,4,10}",showLineNumbers:!0,"{1,4,10}":!0},'/// \npublic class TestInheritdoc : ITestInheritdoc, IDynamicApiController\n{\n /// \n public string GetName()\n {\n return "Furion";\n }\n\n /// \n public string GetVersion()\n {\n return "3.3.3";\n }\n}\n\n/// \n/// \u6d4b\u8bd5\u6ce8\u91ca\u7ee7\u627f\n/// \npublic interface ITestInheritdoc\n{\n /// \n /// \u83b7\u53d6\u540d\u79f0\n /// \n /// \n string GetName();\n\n /// \n /// \u83b7\u53d6\u7248\u672c\n /// \n /// \n string GetVersion();\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/cdr22.png")}),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"./specification-document#6530-inheritdoc-%E5%AE%9E%E7%8E%B0%E6%B3%A8%E9%87%8A%E7%BB%A7%E6%89%BF"},"\u67e5\u770b\u8be6\u7ec6\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v320\u5df2\u53d1\u5e03"},"v3.2.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IFormFile")," \u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"ToByteArray()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/da69640da2331e2c8582b88bbda965c5ad7ecbe0"},"da69640")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"ServeDir")," \u865a\u62df\u76ee\u5f55\u914d\u7f6e\u529f\u80fd\uff0c\u652f\u6301\u4e00\u952e\u5c06\u4e00\u7ea7\u76ee\u5f55\u5207\u6362\u81f3\u4e8c\u7ea7\u76ee\u5f55\u90e8\u7f72\uff08IIS\uff09",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/87183921ac8b6f9856db01b4de679b858a58e753"},"8718392")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6240\u6709\u4f9d\u8d56\u5305\u81f3\u6700\u65b0\u7248"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u4f9d\u8d56\u6ce8\u5165\u6a21\u5757\u6838\u5fc3\u4ee3\u7801\uff0c\u79fb\u9664\u6ce8\u518c\u670d\u52a1\u91c7\u7528\u53cd\u5c04\u673a\u5236\uff0c\u51cf\u5c11\u53cd\u5c04\u6027\u80fd\u635f\u8017 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/acdb3157af92891610a1ba6d317b6af3f09e233f"},"acdb315")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"schema")," \u7c7b\u578b\u5982\u679c\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"C# Object")," \u7c7b\u578b\u65e0\u6cd5\u6b63\u786e\u751f\u6210\u524d\u7aef\u4ee3\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/swagger-api/swagger-codegen-generators/issues/692"},"Swagger \u5b98\u65b9 Issue")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1a252747fd60fc87a8ed4425c8edf7803f96ce43"},"1a25274")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u53d1\u5e03\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Windows Services")," \u65f6\u65e5\u5fd7\u7edd\u5bf9\u8def\u5f84\u95ee\u9898 \u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/jacoat"},"@jacoat")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/467"},"!467")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Nginx")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"IIS")," \u5bf9\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u914d\u7f6e\u4e0d\u540c\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/87183921ac8b6f9856db01b4de679b858a58e753"},"8718392")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u6a21\u5757\u672a\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnRequestFailded")," \u5bfc\u81f4\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I54PK7"},"#I54PK7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165\u53cd\u5c04\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Not found Method")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I546L1"},"#I546L1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5b9a\u65f6\u4efb\u52a1\u5931\u8d25\u540e\u5f02\u5e38\u5904\u7406\u903b\u8f91\uff0c\u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/cxs1992"},"@\u7a0b\u5c0f\u80dc")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/463"},"!463")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5b9a\u65f6\u4efb\u52a1\u6587\u6863\uff0c\u65e5\u5fd7\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6587\u4ef6\u4e0a\u4f20/\u4e0b\u8f7d \u6587\u6863\uff0c\u5305\u542b\u5355\u6587\u4ef6/\u591a\u6587\u4ef6/Base64/Byte[]")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v310\u5df2\u53d1\u5e03"},"v3.1.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u6a21\u5757\u5f02\u5e38 ",(0,l.kt)("inlineCode",{parentName:"li"},"Http")," \u72b6\u6001\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/462"},"!462")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u652f\u6301\u5c0f\u9a7c\u5cf0\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4W1R4"},"#I4W1R4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"SendAsByteArrayAsync")," \u7b49\u4e00\u7cfb\u5217\u65b9\u6cd5\uff0c\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"byte[]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/452"},"!452")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"GZip")," \u538b\u7f29\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I506S5"},"#I506S5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u4f9d\u8d56\u5305\u5168\u90e8\u5347\u7ea7\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"Nuget")," \u6700\u65b0\u7248 ",(0,l.kt)("inlineCode",{parentName:"li"},"v6.0.3")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6 WebApplication")," \u6a21\u5f0f\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4UZLM"},"#I4UZLM")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4PZ0C"},"#I4PZ0C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65e5\u671f\u9a8c\u8bc1\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"2022-03-01 0:00:00"),"\uff08\u73b0\u5728\u652f\u6301\u5c0f\u65f6\u57df ",(0,l.kt)("inlineCode",{parentName:"li"},"0")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"00"),"\uff09 \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4Y3NT"},"#I4Y3NT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u73af\u5883\u914d\u7f6e\u548c\u6587\u4ef6\u914d\u7f6e\u4f18\u5148\u7ea7\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8131\u654f\u6a21\u5757\u66ff\u6362\u654f\u611f\u8bcd\u6c47\u53ea\u66ff\u6362\u6700\u540e\u4e00\u4e2a bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4YFA0"},"#I4YFA0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u8fd4\u56de\u5b57\u7b26\u4e32\u4e2a\u522b\u60c5\u51b5\u51fa\u73b0\u4e2d\u6587\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I50GBD"},"#I50GBD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidate]")," \u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"AllowNullValue")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"AllowEmptyString")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ZZBE"},"#I4ZZBE")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"[\u8fc7\u65f6]"," \u6807\u8bb0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u5305 ",(0,l.kt)("inlineCode",{parentName:"li"},"IWebHost")," \u62d3\u5c55\u4e3a\u8fc7\u65f6\u72b6\u6001"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u4f18\u5316\u6587\u6863\u4f53\u9a8c\uff0c\u65b0\u589e\u9762\u5305\u5c51\u5bfc\u822a\uff0c\u91cd\u5199\u6587\u6863\u7f13\u5b58\uff0c\u63d0\u5347\u6587\u6863\u8bbf\u95ee\u901f\u5ea6"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u66f4\u65b0\u52a8\u6001 API \u6587\u6863\u3001\u914d\u7f6e\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u66f4\u65b0\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u65b0\u589e\u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApi")," \u652f\u6301\u5c0f\u9a7c\u5cf0\u8def\u5f84\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"GetMyName")," -> ",(0,l.kt)("inlineCode",{parentName:"li"},"getMyName"),"\uff1a")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "DynamicApiControllerSettings": {\n "LowercaseRoute": false,\n "KeepName": true,\n "AsLowerCamelCase": true\n }\n}\n')))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6 WebApplication")," \u6a21\u5f0f\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u914d\u7f6e\uff1a")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:'showLineNumbers {title="Progame.cs"}',showLineNumbers:!0,"":!0,"{title":'"Progame.cs"}'},"app.UseVirtualPath(app =>\n{\n app.UseInject(String.Empty); // \u6ce8\u610f String.Empty \u53ea\u662f\u4f8b\u5b50\uff0c\u53ef\u4ee5\u4e0d\u586b\u6216\u586b\u5176\u4ed6\u7684\uff0c\u89c1\u4e00\u5206\u949f\u5165\u95e8\n app.MapRouteControllers();\n});\n")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v300\u5df2\u53d1\u5e03"},"v3.0.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"v3+ \u7248\u672c\u8bf4\u660e",type:"warning"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"Furion v3.x \u7248\u672c\u91c7\u7528 .NET6 \u6784\u5efa\u3002"))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"GET")," \u8bf7\u6c42\u81ea\u52a8\u8f6c\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7c7b\u7c7b\u578b")," \u7c7b\u578b\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4HR5Q"},"#I4HR5Q")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u5168\u9762\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u7248\u672c"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f00\u542f\u89c4\u8303\u5316\u7ed3\u679c\u5e76\u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38\u5bfc\u81f4\u5f02\u5e38\u7ecf\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnSucceeded")," \u8fc7\u6ee4\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4DTVL"},"#I4DTVL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET5.0.5+")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u5fae\u8f6f\u5e95\u5c42\u4fee\u6539\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiController]")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"IActionResult")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ISOK"},"#I4ISOK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore 6.0")," \u9002\u914d ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlServer 2005+")," \u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ILA5"},"#I4ILA5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," .NET6 \u83b7\u53d6\u914d\u7f6e\u5bf9\u8c61\u5982\u679c\u4e0d\u5b58\u5728\u8fd4\u56de null \u95ee\u9898\uff0c.NET5 \u5219\u8fd4\u56de\u521d\u59cb\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/94ae4d8c9b0fe7eb4d713a171f953c0d3c5a76ac"},"94ae4d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u547d\u4ee4\u53c2\u6570\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c7b\u578b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4D21Q"},"#I4D21Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Cron")," \u5b9a\u65f6\u4efb\u52a1\u7279\u6027\u65b9\u5f0f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4OJQI"},"#I4OJQI")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"ToPagedList")," \u6cdb\u578b\u7ea6\u675f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d0244dc33a0e5236158cdcdff21d086e00a42ee7"},"d0244d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u67e5\u770b ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"https://furion.baiqian.ltd/docs/get-start-net6"},".NET6 \u4e00\u5206\u949f\u5165\u95e8"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u67e5\u770b ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"https://furion.baiqian.ltd/docs/net5-to-net6"},"Furion v2 \u5347\u7ea7 v3"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7279\u522b\u9e23\u8c22")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/KaneLeung"},"KaneLeung"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v220\u5df2\u53d1\u5e03"},"v2.20\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"v2.20+ \u7248\u672c\u8bf4\u660e",type:"warning"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"\u5728 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion v2.20+")," \u7248\u672c\u540e\u91c7\u7528 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Jaina"},"Jaina")," \u4e8b\u4ef6\u603b\u7ebf\u66ff\u6362\u539f\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"EventBus")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"GET")," \u8bf7\u6c42\u81ea\u52a8\u8f6c\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7c7b\u7c7b\u578b")," \u7c7b\u578b\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4HR5Q"},"#I4HR5Q")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\uff0c\u91c7\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Jaina"},"Jaina")," \u65b9\u5f0f"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f00\u542f\u89c4\u8303\u5316\u7ed3\u679c\u5e76\u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38\u5bfc\u81f4\u5f02\u5e38\u7ecf\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnSucceeded")," \u8fc7\u6ee4\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4DTVL"},"#I4DTVL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET5.0.5+")," \u5fae\u8f6f\u5e95\u5c42\u4fee\u6539\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiController]")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"IActionResult")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ISOK"},"#I4ISOK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0c0752c624799d7d3c7661a8f36a93983399bb59"},"0c0752")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u542f\u52a8\u4e0d\u652f\u6301\u73af\u5883\u53d8\u91cf ",(0,l.kt)("inlineCode",{parentName:"li"},"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES")," \u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/438"},"!438")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u5185\u5b58\u548c CPU \u5360\u7528\u53ca\u7279\u6b8a\u60c5\u51b5\u4e0b\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/12c65debf552c57780679e6a567a9dd9fb077f46"},"12c65de")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9ed8\u8ba4\u63a7\u5236\u5668\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65e0\u6548 bug",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c7a4a5ef8c3282d245cbe04124cf379d381d496f"},"c7a4a5e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"InjectionAttribute")," \u7279\u6027\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ExceptInterfaces")," \u5355\u8bcd\u62fc\u5199\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/436"},"!436")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u547d\u4ee4\u53c2\u6570\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c7b\u578b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4D21Q"},"#I4D21Q")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InjectionAttribute")," \u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/435"},"!435")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"ToPagedList")," \u6cdb\u578b\u7ea6\u675f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d0244dc33a0e5236158cdcdff21d086e00a42ee7"},"d0244d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u65b0\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v219\u5df2\u53d1\u5e03"},"v2.19\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1\u76d1\u542c\u5668 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeListener")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I468Q1"},"#I468Q1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonElement")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/61985d6a300485d553cbe8461b01f01bcd0936ef"},"61985d6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u914d\u7f6e\u679a\u4e3e\u53ca\u6807\u7b7e\u6392\u5e8f\u8fc7\u6ee4\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46LON"},"#I46LON")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/404"},"!404")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/octet-stream")," \u7c7b\u578b\u9ed8\u8ba4\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d9bad0320cc4a204e24bc3a070517ebce4cdc5d7"},"d9bad03")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u4ee3\u7406\u6a21\u5f0f\u8bf7\u6c42\u62a5\u6587\u5934\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDictionary")," \u7c7b\u578b\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0204c0afe2de5c28ebbd44b29131e701b93ae8b8"},"0204c0a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MongoDB")," \u62d3\u5c55\u7c7b\uff0c\u6dfb\u52a0\u66f4\u591a\u5e38\u7528\u64cd\u4f5c\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/423"},"!423")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset?")," \u8f6c\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime")," \u62d3\u5c55\uff08\u5305\u542b\u4e92\u6362\uff09 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/432"},"!432")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u8fdb\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u65f6\u5019\u62a5\u7a7a\u5f02\u5e38\u95ee\u9898\uff0c\u539f\u56e0\u662f\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"PM")," \u73af\u5883\u4e2d\u4e0d\u5b58\u5728\u6839\u670d\u52a1",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0853e74de90718fce9c0892e2ee4da597f62a918"},"0853e74")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u5f02\u5e38\u540e\u5f02\u5e38\u4e00\u76f4\u9a7b\u7559\u5185\u5b58\u95ee\u9898\uff0c\u4fee\u6b63\u4e3a\u6267\u884c\u6210\u529f\u81ea\u52a8\u6e05\u7a7a\u8fc7\u53bb\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/197a62bb4a7df34eb2c0dbda65121e9cf00d905c"},"197a62b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Jwt")," \u62d3\u5c55\u5305\u4e0d\u6b63\u786e\u7684\u4ee3\u7801\u5bfc\u81f4 IOptions \u5931\u6548",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46LUP"},"#I46LUP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u679a\u4e3e ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u8fc7\u6ee4\u5668\u4e0d\u8f93\u51fa\u503c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46LON"},"#I46LON")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/404"},"!404")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5904\u7406\u975e ",(0,l.kt)("inlineCode",{parentName:"li"},"int")," \u7c7b\u578b\u679a\u4e3e\u8f6c\u6362 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46QJ9"},"#I46QJ9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c6\u56fe\u5f15\u64ce\u7f16\u8bd1\u6a21\u677f\u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"dll")," \u540e\u518d\u6b21\u52a0\u8f7d\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"IL")," \u683c\u5f0f\u5316\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ff52d383718b4d34968619f17c9d54d8718b4f3f"},"ff52d38")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7ba1\u9053 ",(0,l.kt)("inlineCode",{parentName:"li"},"Channel")," \u8bfb\u53d6\u5668\u65e0\u6cd5\u91ca\u653e ",(0,l.kt)("inlineCode",{parentName:"li"},"Handler")," \u5bf9\u8c61\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/10f4a900ee558a29f40ae21366a0eba83eceb3eb"},"10f4a90")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u4e0b\u65e5\u5fd7\u4e0d\u8f93\u51fa\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c48254822c09092906ef77f04d54497e27665a92"},"c482548")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"multipart/form-data")," \u7c7b\u578b\u5bf9\u63a5\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u6587\u4ef6 \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d9bad0320cc4a204e24bc3a070517ebce4cdc5d7"},"d9bad03")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5de5\u4f5c\u5355\u5143\u4e0a\u4e0b\u6587\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u5171\u4eab\u4e8b\u52a1\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/006d439de3357d4d58ea6d7d3f9d51771a7b604e"},"006d439")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u679a\u4e3e\u503c\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"GET")," \u8bf7\u6c42\u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u663e\u793a\u4e0d\u6b63\u786e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/fb72fd7c98de5bf2246dd1bf08200152bd7ab7a0"},"fb72fd7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u4e0d\u8d70\u5f02\u5e38\u8fc7\u6ee4\u5668\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/423"},"!426")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u4e8b\u4ef6\u603b\u7ebf\u5e76\u53d1\u60c5\u51b5\u4e0b\u8c03\u7528\u5b8c\u6210\u540e\u65e0\u6cd5\u6b63\u786e\u5904\u7406\u961f\u5217\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/429"},"!429")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"v2.19+")," \u7248\u672c\u4e4b\u540e\u6a21\u5757\u5316\u5f00\u53d1\u52a0\u8f7d\u5916\u90e8\u7a0b\u5e8f\u96c6\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/433"},"!433")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1 SpareTime \u9891\u7e41\u68c0\u67e5\u5bfc\u81f4 CPU \u589e\u9ad8\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/aa0a2eec95f6ed2b74c681877498900726267d82"},"aa0a2ee")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7279\u522b\u9e23\u8c22")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/YaChengMu"},"YaChengMu"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v218\u5df2\u53d1\u5e03"},"v2.18\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Tools.CommandLine")," \u62d3\u5c55\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/tools/Furion.Tools/Furion.Tools.CommandLine"},"\u67e5\u770b\u6e90\u7801")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u57fa\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"AsyncLocal")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"CallContext")," \u5b9e\u73b0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9057a212aab8057b668086bd14369fa68ce120df"},"9057a21")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u53ef\u914d\u7f6e\u8bf7\u6c42\u5f02\u5e38\u91cd\u8bd5\u7b56\u7565 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/656da87a667c2da7d82425cdcd47146e99602d65"},"656da87")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnRequestFailded")," \u4e8b\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a3da4ba2c69380fe5f8c2fda80054544c0a3468"},"4a3da4b")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Scoped")," \u6240\u6709\u5e26\u8fd4\u56de\u503c\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/656da87a667c2da7d82425cdcd47146e99602d65"},"656da87")," - ","\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u5728 ",(0,l.kt)("inlineCode",{parentName:"strong"},"ConfigureService")," \u4e2d\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions<>()")," \u83b7\u53d6\u914d\u7f6e\u903b\u8f91")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/afa4ac347152ccac37bd1d0f9af1e8ffb665a662"},"afa4ac3"))))),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u5728\u8fc7\u53bb\uff0c\u5f88\u591a\u5f00\u53d1\u8005\u603b\u662f\u559c\u6b22\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u914d\u7f6e\u670d\u52a1\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ConfigureService")," \u65b9\u6cd5\u4e2d\u89e3\u6790\u670d\u52a1\uff0c\u8fd9\u6837\u5bfc\u81f4\u5185\u5b58\u5b58\u5728\u6ea2\u51fa\u98ce\u9669\uff0cGC \u65e0\u6cd5\u56de\u6536\u3002\n\u6b63\u786e\u7684\u65b9\u5f0f\u662f\u5c3d\u53ef\u80fd\u7684\u907f\u514d ",(0,l.kt)("inlineCode",{parentName:"p"},"ConfigureService")," \u4e2d\u89e3\u6790\u670d\u52a1\u3002",(0,l.kt)("strong",{parentName:"p"},"\u5982\u679c\u9700\u8981\u5728\u3010\u542f\u52a8\u65f6\u3011\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u914d\u7f6e\u9009\u9879"),"\uff0c\u8bf7\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetConfig(\u8def\u5f84, true)")," \u4ee3\u66ff ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions")),"\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," v2.16+ \u7248\u672c\u91cd\u6784 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContextBuilder")," \u4e4b\u540e\u5199\u9519\u5b9e\u4f53\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I45E6M"},"#I45E6M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u5355\u4e2a\u503c\u5e8f\u5217\u5316\u9519\u8bef\u5904\u7406\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3282eba2cecb505e339ef3f9c8e823f84dcb43f0"},"3282eba")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," v2.17.3+ \u5355\u5143\u6d4b\u8bd5\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"TestServer")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I45JR3"},"#I45JR3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.Invoke")," \u6b63\u5e38\u65b9\u6cd5\u6b7b\u5faa\u73af bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/392"},"!392")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u751f\u6210\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5b58\u5728\u6570\u7ec4/\u96c6\u5408\u7c7b\u578b\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Key")," \u91cd\u590d\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/aeea2b1b19434f3171bd1c77be057ca36ecf9be2"},"aeea2b1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u5e8f\u5217\u5316\u5f15\u7528\u7c7b\u578b\u5bf9\u8c61\uff08\u4e0d\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"string"),"\uff09\u4e0d\u6b63\u786e\u7684\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/93cf63a023f3372b80edb5debc46271d2281318a"},"93cf63a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext")," \u9ed8\u8ba4\u79df\u6237\u5c5e\u6027\u53d7\u5de5\u4f5c\u5355\u5143\u5f71\u54cd\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e51557fdf37ae5646b2ea37c227c970eccdbed38"},"e51557f")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5305\u7ba1\u7406\u5de5\u5177\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6a21\u677f\u5f15\u64ce\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u64cd\u4f5c\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"\u6570\u636e\u5e93\u4e0a\u4e0b\u6587")," \u7b49\u7b49\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v217\u5df2\u53d1\u5e03"},"v2.17\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IPC\uff08Inter-Process Communication\uff0c\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff09")," \u6a21\u5757\u529f\u80fd\uff0c\u76ee\u524d\u63d0\u4f9b\u8fdb\u7a0b\u5185\u901a\u4fe1\u548c\u5171\u4eab\u5185\u5b58\u8fdb\u7a0b\u5916\u901a\u8baf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/ProcessChannel"},"ProcessChannel")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/xml")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"text/xml")," \u9ed8\u8ba4\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4753a1aed527a6282fe6c05036de9d50bd3b3dd8"},"4753a1a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u5168\u5c40\u5f02\u5e38\u62e6\u622a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u914d\u7f6e\u6587\u4ef6\u626b\u63cf\u76ee\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3e2910a8b775fb6323e293b020bbe7cdfb4c6436"},"3e2910a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u6570\u636e\u5e93\u5b9e\u4f53\u63a5\u53e3\u663e\u5f0f\u5b9e\u73b0\u63a5\u53e3\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9610a0a481f4f78770bc2fc3ed4cabbef2a8f937"},"9610a0a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u5e94\u7528\u7a0b\u5e8f\u5168\u5c40\u62e6\u622a ",(0,l.kt)("inlineCode",{parentName:"li"},"[IfException]")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4f9d\u8d56\u6ce8\u5165\u6a21\u5757\u63a5\u53e3\u53ef\u4ee5\u9650\u5236\u5b9e\u73b0\u7c7b\u751f\u5b58\u5468\u671f\uff0c\u5b9e\u73b0\u7c7b\u4e5f\u652f\u6301\u590d\u5199\u751f\u5b58\u5468\u671f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d2ce089130300cdd8b1bc6792f325c5d38ee9404"},"d2ce089")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Retry()")," \u91cd\u8bd5\u7b56\u7565\u529f\u80fd\u81f3\u65b0\u7c7b\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.Invoke()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6a7bbd0b30a653b9a42d340a63520485aa6bbfa4"},"6a7bbd0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"IHttpContextAccessor.SigninToSwagger()")," \u62d3\u5c55"),"\uff0c\u8bf7\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"IHttpContextAccessor.HttpContext.SigninToSwagger()"),"\uff0c\u9000\u51fa\u4e5f\u4e00\u6837"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},"\u5168\u5c40\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"del"},"Request Body")," \u91cd\u590d\u8bfb\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"del"},"Request.EnableBuffering()"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d92c24bdb43bfb01643007ebb6a4ee42a5c738e9"},"d92c24b")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u72b6\u6001\u7801\u8fc7\u6ee4\u903b\u8f91\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I44JYS"},"#I44JYS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff08\u5185\u5b58\u6570\u636e\u5e93\uff09\u6ce8\u518c\u53ca\u64cd\u4f5c\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e1676512a54374427bedbde17cd8cb59d7852557"},"e167651")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u9ed8\u8ba4\u5e8f\u5217\u5316\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a55603bf7ed109296375dbeffc31591a6f8f8e49"},"a55603b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u96f6\u70b9/\u6574\u70b9\u63d0\u524d\u4e00\u79d2\u89e6\u53d1\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4321L"},"#I4321L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u53cb\u597d\u5f02\u5e38\u5728\u5b50\u7c7b\u91cd\u5199\u62bd\u8c61\u7c7b\u65b9\u6cd5\u5185\u90e8\u629b\u5f02\u5e38\u65e0\u6cd5\u83b7\u53d6\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u975e Web \u9879\u76ee\u629b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u5b9e\u4f53\u6a21\u578b\u8d34 ",(0,l.kt)("inlineCode",{parentName:"li"},"[NotMapper]")," \u7279\u6027\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I44MNO"},"#I44MNO")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," Swagger \u751f\u6210\u6cdb\u578b SchemaIds \u9ed8\u8ba4\u8fde\u63a5\u7b26\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"li"},"Of")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"_")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/81946b64e81d9e290f80cd5bcebdb69c99001153"},"81946b6"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v216\u5df2\u53d1\u5e03"},"v2.16\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"MVC")," \u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I427Z2"},"#I427Z2"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"throw Oops.Bah()")," \u629b\u51fa\u4e1a\u52a1\u5f02\u5e38\uff08\u72b6\u6001\u7801 ",(0,l.kt)("inlineCode",{parentName:"li"},"400"),"\uff09"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyResultSettings")," \u89c4\u8303\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"json")," \u914d\u7f6e\u9009\u9879 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I42NY7"},"#I42NY7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00\u81ea\u5b9a\u4e49\u914d\u7f6e\u8d44\u6e90\u6587\u4ef6\u540d\u53ca\u81ea\u5b9a\u4e49\u7a0b\u5e8f\u96c6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I434YJ"},"#I434YJ")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"IUnifyResultProvider")," \u53c2\u6570 ",(0,l.kt)("strong",{parentName:"li"},"\uff08\u7834\u574f\u6027\u66f4\u6539\uff09")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I427Z2"},"#I427Z2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IJsonSerializerProvider")," \u63a5\u53e3\u53c2\u6570\uff0c\u53bb\u6389 ",(0,l.kt)("inlineCode",{parentName:"li"},"inherit")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a55603bf7ed109296375dbeffc31591a6f8f8e49"},"a55603b"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u65b0\u7248\u672c\u81ea\u5b9a\u4e49\u89c4\u8303\u5316\u7ed3\u679c",type:"important"},(0,l.kt)("pre",{parentName:"admonition"},(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {15-16}",showLineNumbers:!0,"":!0,"{15-16}":!0},'using Furion.DataValidation;\nusing Furion.DependencyInjection;\nusing Furion.UnifyResult.Internal;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Mvc.Filters;\nusing System;\nusing System.Threading.Tasks;\n\nnamespace Furion.UnifyResult\n{\n /// \n /// RESTful \u98ce\u683c\u8fd4\u56de\u503c\n /// \n [SuppressSniffer, UnifyModel(typeof(RESTfulResult<>))]\n public class RESTfulResultProvider : IUnifyResultProvider\n {\n /// \n /// \u5f02\u5e38\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)\n {\n return new JsonResult(RESTfulResult(metadata.StatusCode, errors: metadata.Errors));\n }\n\n /// \n /// \u6210\u529f\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n {\n return new JsonResult(RESTfulResult(StatusCodes.Status200OK, true, data));\n }\n\n /// \n /// \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)\n {\n return new JsonResult(RESTfulResult(StatusCodes.Status400BadRequest, errors: metadata.ValidationResult));\n }\n\n /// \n /// \u7279\u5b9a\u72b6\u6001\u7801\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n /// \n public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)\n {\n // \u8bbe\u7f6e\u54cd\u5e94\u72b6\u6001\u7801\n UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);\n\n switch (statusCode)\n {\n // \u5904\u7406 401 \u72b6\u6001\u7801\n case StatusCodes.Status401Unauthorized:\n await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: "401 Unauthorized")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n // \u5904\u7406 403 \u72b6\u6001\u7801\n case StatusCodes.Status403Forbidden:\n await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: "403 Forbidden")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n default: break;\n }\n }\n\n /// \n /// \u8fd4\u56de RESTful \u98ce\u683c\u7ed3\u679c\u96c6\n /// \n /// \n /// \n /// \n /// \n /// \n private static RESTfulResult RESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)\n {\n return new RESTfulResult\n {\n StatusCode = statusCode,\n Succeeded = succeeded,\n Data = data,\n Errors = errors,\n Extras = UnifyContext.Take(),\n Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()\n };\n }\n }\n}\n'))))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u63a7\u5236\u5668\u542f\u7528\u89c4\u8303\u5316\u5904\u7406\u540e\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"new Json({})")," \u5bf9\u8c61\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4354S"},"#I4354S")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u591a\u8bed\u8a00\u5e95\u5c42\u8bbe\u8ba1\uff0c\u53d6\u6d88\u9700\u8981\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"Lang.cs")," \u7a7a\u7c7b\u7684\u8981\u6c42 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I434YJ"},"#I434YJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u6027\u80fd\uff0c\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u76d1\u542c")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v215\u5df2\u53d1\u5e03"},"v2.15\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbRepository<\u5b9a\u4f4d\u5668>()")," \u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41MZP"},"#I41MZP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u7f3a\u7701\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41PBW"},"#I41PBW")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u52a8\u626b\u63cf\u63a5\u53e3\u8fdb\u884c\u4f9d\u8d56\u6ce8\u5165\u83b7\u53d6\u9996\u4e2a\u63a5\u53e3\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41D1M"},"#I41D1M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u6ca1\u6709\u5b9e\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41MZP"},"#I41MZP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u7f3a\u7701\u5e8f\u5217\u5316 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41PBW"},"#I41PBW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext.Tenant")," \u591a\u79df\u6237\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I421DA"},"#I421DA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker")," \u5b9a\u65f6\u4efb\u52a1\u963b\u585e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/82a79cce0a3d9b09f4090b7363c3b78327c76846"},"82a79cc")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Jwt")," \u81ea\u52a8\u5237\u65b0\u673a\u5236\u65f6\u533a\u5904\u7406\u95ee\u9898\uff0c\u4e3b\u8981\u9488\u5bf9\u56fd\u5916\u7528\u6237 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41UB1"},"#I41UB1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/82a79cce0a3d9b09f4090b7363c3b78327c76846"},"82a79cc")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u7cfb\u7edf\u542f\u52a8\u6027\u80fd\uff0c\u4ece 106M \u51cf\u5c11\u5230 84M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u5927\u91cf\u5e95\u5c42\u4ee3\u7801\uff0c\u5305\u5927\u5c0f\u4ece 391Kb \u51cf\u5c11\u5230 350Kb\uff08\u4e0d\u5e26\u6ce8\u91ca\u7248\u672c\u4ec5 64Kb\uff09"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v213v214\u5df2\u53d1\u5e03"},"v2.13/v2.14\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7b80\u6613\u5b57\u7b26\u4e32\u6a21\u677f\u529f\u80fd\uff0c\u652f\u6301\u8fdc\u7a0b\u8bf7\u6c42\u3001\u6570\u636e\u5e93\u6a21\u5757\u3001\u65e5\u5fd7\u6a21\u5757\u3001\u4e8b\u4ef6\u603b\u7ebf\u6a21\u5757\u3001\u5b9a\u65f6\u4efb\u52a1\u6a21\u5757\u3001\u5f02\u5e38\u6a21\u5757\u3001\u6570\u636e\u6821\u9a8c\u6a21\u5757 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I402BL"},"#I402BL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u72b6\u6001\u7801\u89c4\u8303\u5316\u9ed8\u8ba4\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I408F5"},"#I408F5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," \u58f0\u660e\u65b9\u5f0f\u652f\u6301\u5f02\u6b65\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40KWR"},"#I40KWR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u81ea\u52a8\u914d\u7f6e\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/354"},"!354")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("strong",{parentName:"li"},"\u6846\u67b6\u4f9d\u8d56 ",(0,l.kt)("inlineCode",{parentName:"strong"},"SDK")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET 5.0.8")," \u7248\u672c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Db.GetNewDbContext()")," \u9759\u6001\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I400BK"},"#I400BK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},"\u6570\u636e\u5e93\u6a21\u5757\u65f6\u6001\u8868\u62d3\u5c55\u652f\u6301")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I405HI"},"#I405HI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IJsonSerializerProvider")," \u63a5\u53e3\u53c2\u6570\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"inherit")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZQU5"},"#I3ZQU5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"LogEntityFrameworkCoreSqlExecuteCommand")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"OutputOriginalSqlExecuteLog")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40VVE"},"#I40VVE")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u5b9a\u65f6\u4efb\u52a1\u8fb9\u754c\u503c\u95ee\u9898\u5bfc\u81f4\u8df3\u8fc7\u5355\u6b21\u4efb\u52a1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I405NI"},"#I405NI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u72ec\u7acb\u53d1\u5e03\u540e\u7a0b\u5e8f\u96c6\u626b\u63cf\u5931\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZH3X"},"#I3ZH3X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u5982\u679c\u914d\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"Client")," \u5ba2\u6237\u7aef\u4f46\u4f20\u5165\u4e86\u7a7a ",(0,l.kt)("inlineCode",{parentName:"li"},"RequestUrl")," \u5730\u5740\u5bfc\u81f4\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40BC6"},"#I40BC6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u7be1\u6539\u975e\u77ed\u8def\u7aef\u72b6\u6001\u7801\u51fa\u73b0\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I408F5"},"#I408F5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetServiceProvider(type)")," \u89e3\u6790\u670d\u52a1\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40KXN"},"#I40KXN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c6\u56fe\u5f15\u64ce\u4fdd\u5b58\u6210\u6587\u4ef6\u6d41\u9ed8\u8ba4\u7f13\u5b58\u533a\u5927\u5c0f\uff0c\u4ece ",(0,l.kt)("inlineCode",{parentName:"li"},"4096")," \u63d0\u5347\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"8192")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40KH5"},"#I40KH5"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v210211212-\u5df2\u53d1\u5e03"},"v2.10/2.11/2.12 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u8be5\u7248\u672c\u6709\u591a\u4e2a\u7834\u574f\u6027\u66f4\u6539\uff0c\u66f4\u65b0\u65f6\u8bf7\u8ba4\u771f\u67e5\u770b\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.Configuration.Reload()")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYI8"},"#I3XYI8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISubscribeHandler")," \u652f\u6301\u5f02\u6b65\u65b9\u6cd5\u5b9a\u4e49 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYHJ"},"#I3XYHJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseUnifyResultStatusCodes()")," \u53ef\u914d\u7f6e\u4fee\u6539\u8fd4\u56de\u72b6\u6001\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VZQH"},"#I3VZQH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u6dfb\u52a0\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"User-Agent")," \u5934 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W17C"},"#I3W17C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406\u5207\u6362\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u5b9a\u4f4d\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XFP6"},"#I3XFP6")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XDCR"},"#I3XDCR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"CronFormat")," \u81ea\u52a8\u8bc6\u522b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y7GT"},"#I3Y7GT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql \u9ad8\u7ea7\u4ee3\u7406")," \u62e6\u622a\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YHG4"},"#I3YHG4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u62e6\u622a\u8fdc\u7a0b\u8bf7\u6c42\u6240\u6709\u5f02\u5e38\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YPDE"},"#I3YPDE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Timeout")," \u8d85\u65f6\u65f6\u95f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YPPK"},"#I3YPPK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"RSA")," \u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YZNU"},"#I3YZNU")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/345"},"!345")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DataTable")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DataSet")," \u652f\u6301\u4e0d\u6307\u5b9a\u5f3a\u7c7b\u578b\u8fd4\u56de ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Z6RI"},"#I3Z6RI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u6cd5\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Timeout")," \u8d85\u65f6\u65f6\u95f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZKWF"},"#I3ZKWF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Timeout]")," \u7279\u6027\uff0c\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZKWF"},"#I3ZKWF")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"FakeDelete")," \u5047\u5220\u9664/\u8f6f\u5220\u9664\u6240\u6709\u529f\u80fd ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKII"},"#I3XKII"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},"\u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"strong"},"PBKDF2")," \u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3Z0IO"},"#I3Z0IO"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u5355\u4f4d\u7531 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u5206\u949f")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u79d2")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3YPPK"},"#I3YPPK"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"IJsonSerializerProvider")," \u63a5\u53e3\u53c2\u6570\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"strong"},"inherit")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZQU5"},"#I3ZQU5"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[NonAutomatic]")," \u7279\u6027\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[Manual]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKKX"},"#I3XKKX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[NotChangedListener]")," \u7279\u6027\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[SuppressChangedListener]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKLZ"},"#I3XKLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[ManualSaveChanges]")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[ManualCommit]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKNP"},"#I3XKNP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"DbContext.TenantIdQueryFilterExpression")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"DbContext.BuildTenantQueryFilter")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKTB"},"#I3XKTB"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SkipScan]")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[SuppressSniffer]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XN5N"},"#I3XN5N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SkipProxy]")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[SuppressProxy]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XN7O"},"#I3XN7O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u6267\u884c\uff0c\u6027\u80fd\u63d0\u5347 20% ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W33U"},"#I3W33U")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 WebAPI \u626b\u63cf\u63a7\u5236\u5668\u6ca1\u6709\u5c4f\u853d\u6ca1\u6709\u6ce8\u518c\u7684\u7b2c\u4e09\u65b9\u63a7\u5236\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y7TJ"},"#I3Y7TJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext")," \u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"TablePrefix")," \u65e0\u6548\uff1a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y57Q"},"#I3Y57Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u5b9a\u65f6\u4efb\u52a1\u4f7f\u7528\u5f02\u6b65\u59d4\u6258\u5bfc\u81f4\u7a0b\u5e8f\u7ec8\u6b62 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XVZ0"},"#I3XVZ0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e8b\u4ef6\u603b\u7ebf\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6d88\u606fid")," \u5bf9\u5e94\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"Handler")," \u53ea\u89e6\u53d1\u7b2c\u4e00\u4e2a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYP0"},"#I3XYP0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".ToPagedList()")," \u5206\u9875\u65b9\u6cd5\u4f20\u5165\u5c0f\u4e8e\u6216\u7b49\u4e8e 0 \u7684\u9875\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XNAN"},"#I3XNAN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XMOL"},"#I3XMOL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7ee7\u627f ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog")," \u65e5\u5fd7\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u751f\u6210\u91cd\u590d\u65e5\u5fd7 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WA0L"},"#I3WA0L")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/331"},"!331")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7c98\u571f\u5bf9\u8c61")," \u52a8\u6001\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c7b\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W9LW"},"#I3W9LW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes.Numeric")," \u6821\u9a8c\u6570\u503c\u7c7b\u578b\u6b63\u5219\u8868\u8fbe\u5f0f\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WADS"},"#I3WADS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u547d\u4ee4\u53c2\u6570 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbParameter")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Value")," \u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"object")," \u7c7b\u578b\u7684\u65f6\u5019\u4e14\u4e0d\u6307\u5b9a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YKM6"},"#I3YKM6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93\u5b58\u50a8\u8fc7\u7a0b ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6e38\u6807\u53c2\u6570")," \u62a5\u9519\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZBYE"},"#I3ZBYE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u91c7\u7528\u72ec\u7acb\u53d1\u5e03\u540e\u65e0\u6cd5\u6267\u884c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZH3X"},"#I3ZH3X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8fdc\u7a0b\u8bf7\u6c42\u5982\u679c\u65e0\u8fd4\u56de\u503c\u5e8f\u5217\u5316\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/348"},"!348")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"appsettings.json")," \u7b49\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\u4e2d\u6587\u547d\u540d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YBFD"},"#I3YBFD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u914d\u7f6e\u547d\u540d\u5ba2\u6237\u7aef ",(0,l.kt)("inlineCode",{parentName:"li"},"BaseAddress")," \u5730\u5740\u517c\u5bb9\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YCRH"},"#I3YCRH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u6846\u67b6\u65e0\u7528\u4ee3\u7801\u3001\u4f18\u5316\u4ee3\u7801"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u975e Web")," \u73af\u5883\u4e0b\u6027\u80fd"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4f1a\u8bdd\u548c\u72b6\u6001\u7ba1\u7406 \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YI3G"},"#I3YI3G")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u3001\u65e5\u5fd7\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u8fdc\u7a0b\u8bf7\u6c42\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u914d\u7f6e\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y2EV"},"#I3Y2EV")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"dapper")," \u591a\u4e2a\u6570\u636e\u6e90\u5982\u4f55\u7ee7\u627f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WUOI"},"#I3WUOI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"SpareTime")," \u591a\u6b21\u6267\u884c\u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XEQU"},"#I3XEQU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u9009\u9879\u66f4\u6539\u901a\u77e5\uff08\u70ed\u66f4\u65b0\uff09\uff1a\u6570\u636e\u5e93\u91cc\u7684\u6570\u636e\u66f4\u6539\u4e86\u5982\u4f55\u901a\u77e5\u9009\u9879\u8fdb\u884c\u6539\u53d8\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYI8"},"#I3XYI8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SaaS")," \u591a\u79df\u6237\u6dfb\u52a0\u65f6\u65e0\u6cd5\u83b7\u53d6\u79df\u6237",(0,l.kt)("inlineCode",{parentName:"li"},"Id")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y5CF"},"#I3Y5CF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"_httpContextAccessor.HttpContext")," \u4e3a\u7a7a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y6BI"},"#I3Y6BI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Ubuntu")," \u4e2d\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.Configuration")," \u65b9\u6cd5\u8bfb\u53d6\u4e0d\u5230\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y74H"},"#I3Y74H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4f5c\u7528\u57df\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YHXP"},"#I3YHXP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"UnitofWork")," \u63d0\u4ea4\u4e8b\u52a1\uff0c\u53ef\u4ee5\u63d0\u4ea4\u6210\u529f\uff0c\u4f46\u662f\u7cfb\u7edf\u4f1a\u6709\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YIWU"},"#I3YIWU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u8bfb\u5199\u5206\u79bb--\u975e\u9ed8\u8ba4\u4e3b\u5e93\u7684\u4ece\u5e93\u968f\u673a\u8be5\u5982\u4f55\u914d\u7f6e\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YVR7"},"#I3YVR7"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v290-\u5df2\u53d1\u5e03"},"v2.9.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u5e94\u7528\u5168\u5c40\u672a\u6258\u7ba1\u8d44\u6e90\u76d1\u542c\uff0c\u5e76\u5b9e\u73b0\u7279\u5b9a\u65f6\u673a\u91ca\u653e\u975e\u6258\u7ba1\u8d44\u6e90")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VXAU"},"#I3VXAU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e0d\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"EntityFramework.Core")," \u7248\u672c\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Pure")," \u5305",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VGW8"},"#I3VGW8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," swagger \u652f\u6301\u8bbe\u7f6e\u591a\u8bed\u8a00\u65b9\u5f0f\uff0c\u8bbe\u7f6e\u7684\u8bed\u8a00\u81ea\u52a8\u6dfb\u52a0\u5230 api \u5730\u5740\u540e\u9762 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VDTD"},"#I3VDTD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"[FromRoute]")," \u975e\u5fc5\u586b\uff08\u9009\u586b\uff09\u53c2\u6570\u8bbe\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VFIM"},"#I3VFIM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u53c2\u6570\u652f\u6301\u914d\u7f6e\u8def\u7531\u7ea6\u675f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VFIR"},"#I3VFIR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DESC")," \u52a0\u5bc6\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5927\u5199")," \u8f93\u51fa ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/326"},"#326")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6240\u6709\u5305\u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},".snupkg")," \u5305\uff0c\u652f\u6301\u5f00\u53d1\u9636\u6bb5\u76f4\u63a5\u8c03\u8bd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6240\u6709\u5305\u6e90\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VFIX"},"#I3VFIX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"repository.BuildChange()")," \u65b9\u6cd5\u7684\u8fd4\u56de\u503c\uff0c\u591a\u8fd4\u56de\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceScope")," \u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VX3D"},"#I3VX3D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"AutoRefreshToken")," \u53c2\u6570 ",(0,l.kt)("inlineCode",{parentName:"li"},"days")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"minutes")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VXNB"},"#I3VXNB")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetOptionsSnapshot<>")," \u4ece\u6839\u670d\u52a1\u89e3\u6790\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VS2X"},"#I3VS2X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8fdc\u7a0b\u8bf7\u6c42\u5982\u679c\u51fa\u73b0\u5f02\u5e38\uff0c\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"Stream")," \u4e3a null \u5bfc\u81f4\u5f02\u5e38\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VSTU"},"#I3VSTU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5982\u679c\u5b9e\u4f53\u88ab\u8ddf\u8e2a\u540e\uff0c\u65e0\u6cd5\u6267\u884c\u5220\u9664\u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W08P"},"#I3W08P")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fd0\u884c\u65f6\u5185\u5b58\uff0c\u5b9e\u73b0\u8bf7\u6c42\u7ed3\u675f\u81ea\u52a8\u91ca\u653e\u672a\u6258\u7ba1\u8d44\u6e90 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VXAU"},"#I3VXAU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App")," \u9759\u6001\u7c7b\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\u3001\u5206\u8868\u5206\u5e93\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebAPI\uff0c\u81ea\u5b9a\u4e49\u6839\u636e\u65b9\u6cd5\u540d\u751f\u6210 ","[HttpMethod]"," \u89c4\u5219\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VKQG"},"#I3VKQG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertAsync")," \u7684\u65f6\u5019\u63d0\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"ID")," \u4e3a\u7a7a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VS7E"},"#I3VS7E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FirstOrDefault")," \u81ea\u52a8\u8fc7\u6ee4\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"TanantId")," \u5b57\u6bb5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W0VH"},"#I3W0VH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5bf9\u65b9\u63a5\u53e3\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpConnectionResponseContent")," \u8fdc\u7a0b\u8bf7\u6c42\u62ff\u4e0d\u5230\u8fd4\u56de\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W17C"},"#I3W17C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u67e5\u8be2\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"FindOrDefault")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W830"},"#I3W830")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlNonQuery")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"UnitOfWork")," \u5faa\u73af\u6267\u884c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W8WW"},"#I3W8WW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u56e0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u914d\u7f6e\u95ee\u9898\uff0c\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e2d\u4e0d\u80fd\u81ea\u52a8\u643a\u5e26 token \u6388\u6743\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W934"},"#I3W934")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"SetBody")," \u53c2\u6570\u8bc6\u522b\u4e0d\u4e86",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WBM1"},"#I3WBM1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u91cc\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql.SqlNonQuery()")," \u6216\u8005 ",(0,l.kt)("inlineCode",{parentName:"li"},"obj.insert()")," \u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WB5O"},"#I3WB5O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8c03\u7528\u51fd\u6570\u6216\u5b58\u50a8\u8fc7\u7a0b\uff0c\u600e\u4e48\u51fa\u53c2\u6570\u636e\u81ea\u5b9a\u4e49\u5bf9\u8c61\uff1f\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle"),"\u6570\u636e\u5e93\u7684\u6570\u7ec4\u6216\u8bb0\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W71W"},"#I3W71W"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v270280-\u5df2\u53d1\u5e03"},"v2.7.0/2.8.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},'throw Oops.On("\u5f02\u5e38\u6d88\u606f")')," \u5e94\u7528\u591a\u8bed\u8a00\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UYC2"},"#I3UYC2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetMSRepository()")," \u83b7\u53d6\u4e3b\u4ece\u5e93\u4ed3\u50a8\u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UBSJ"},"#I3UBSJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5de5\u4f5c\u5355\u5143\u7279\u6027\uff0c\u652f\u6301\u9759\u6001\u7c7b\u5f3a\u5236\u6027\u5f00\u542f\u5171\u4eab\u4e8b\u52a1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S9N8"},"#I3S9N8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u6a21\u5f0f\u6253\u5370\u65e5\u5fd7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SE8X"},"#I3SE8X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpClient")," \u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SI17"},"#I3SI17")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"\u77ed ID")," \u751f\u6210\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T7JP"},"#I3T7JP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SensitiveDetection]")," \u652f\u6301\u914d\u7f6e\u66ff\u6362\u654f\u611f\u8bcd\u6c47 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3THIA"},"#I3THIA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder.DocumentGroups")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder.CheckApiDescriptionInCurrentGroup(currentGroup, apiDescription)")," \u516c\u5f00\u65b9\u6cd5",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UDSY"},"#I3UDSY")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u81ea\u52a8\u626b\u63cf ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".xml")," \u6587\u4ef6\u5e76\u52a0\u8f7d\u5230\u914d\u7f6e\u4e2d\u7684\u4ee3\u7801\u548c\u89c4\u5219\uff0c\u540c\u65f6\u79fb\u9664\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},".xml")," \u6587\u4ef6\u52a0\u8f7d\uff0c\u53ea\u4fdd\u7559 ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UJ3L"},"#I3UJ3L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5206\u5e03\u5f0f\u8fde\u7eed ",(0,l.kt)("inlineCode",{parentName:"li"},"GUID")," \u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UBK0"},"#I3UBK0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Scoped.CreateUnitOfWork")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Scoped.CreateUow")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3SJPU"},"#I3SJPU"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption.Validate")," \u8fd4\u56de\u503c\uff0c\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"TokenValidationResult")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S2ND"},"#I3S2ND")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidation]")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"[SensitiveDetection]")," \u591a\u8bed\u8a00\u5e94\u7528\u5931\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UH6U"},"#I3UH6U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped")," \u7cfb\u5217\u65b9\u6cd5\u5f02\u6b65\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Task is cancel")," \u60c5\u51b5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SJF6"},"#I3SJF6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," \u6570\u636e\u5e93\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ToPagedList")," \u65b9\u6cd5\u8fd4\u56de\u7684\u7ed3\u679c\u8fdb\u884c\u904d\u5386\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"MySqlConnection is aleady use")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SJQ3"},"#I3SJQ3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"tool/cli.psl")," \u6ca1\u6709\u5305\u542b\u9879\u76ee\u540d\u79f0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S1T6"},"#I3S1T6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u505a\u4e0a\u4f20\u6587\u4ef6\u65f6\uff0c\u6ca1\u6709\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"Body"),"\uff0c\u7a0b\u5e8f\u76f4\u63a5\u8df3\u8fc7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TKFH"},"#I3TKFH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"multipart/form-data")," \u5185\u5bb9\u5206\u5272\u7b26\u7f3a\u5931 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TNO9"},"#I3TNO9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4ee3\u7406\u62e6\u622a\u65b9\u5f0f\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpResponseMessage")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3V161"},"#I3V161")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"repository.Database.SetCommandTimeout(600)")," \u65e0\u6cd5\u751f\u6548",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VAQS"},"#I3VAQS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u89c4\u8303\u5316\u7ed3\u679c\u4e2d\u95f4\u4ef6\u5224\u65ad\u662f\u5426\u8df3\u8fc7\u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T2AA"},"#I3T2AA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u66f4\u65b0\u90e8\u5206\u5217 ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateIncludeNowAsync")," \u5177\u6709\u4e8c\u4e49\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RW9Q"},"#I3RW9Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u6846\u67b6\u5e95\u5c42\u6027\u80fd\uff0c\u5927\u5927\u51cf\u5c11\u5185\u5b58\u5360\u7528\u548c\u6ea2\u51fa\u60c5\u51b5\uff0c\u542f\u52a8\u5185\u5b58\u4ece\u4e4b\u524d ",(0,l.kt)("inlineCode",{parentName:"strong"},"136M")," \u4e0b\u5c06\u5230 ",(0,l.kt)("inlineCode",{parentName:"strong"},"86M"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5220\u9664\u65e0\u7528\u4ee3\u7801\uff0c\u4f18\u5316\u4e0d\u89c4\u8303\u547d\u540d\u7b49"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Inject")," \u8bf4\u660e\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TITA"},"#I3TITA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," 4.2.9 \u7684\u793a\u4f8b\u4ee3\u7801\u6587\u6863\uff0c\u65b9\u6cd5\u6ca1\u6709\u653e\u5728 class \u4e2d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S9T5"},"#I3S9T5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c 6.5.6 \u591a\u5206\u7ec4\u6392\u5e8f\u56fe\u7247\u5f15\u7528\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UBOQ"},"#I3UBOQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u9759\u6001\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped")," \u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"MasterDbContextLocator")," \u4e0d\u968f\u81ea\u5b9a\u4e49\u7684\u53c2\u6570\u751f\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SDBB"},"#I3SDBB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4e8b\u4ef6\u603b\u7ebf\u4e2d\u8ba2\u9605\u5904\u7406\u7a0b\u5e8f\u7c7b\u83b7\u53d6\u4e0d\u5230\u7528\u6237\u4fe1\u606f\uff0c\u8fd9\u4e2a\u6b63\u5e38\u5417 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SS0U"},"#I3SS0U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728\u6709\u591a\u79df\u6237\u8fc7\u6ee4\u5668\u7684\u60c5\u51b5\u4e0b\uff0c\u662f\u5426\u6709\u4e00\u79cd\u65b9\u5f0f\u67e5\u8be2\u5168\u91cf\u7684\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T0VI"},"#I3T0VI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," mysql \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},'&"tools/cli.ps1"')," \u9875\u9762\u5316\u52a0\u8f7d\u8868\u7ed3\u6784\u5931\u8d25 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T4F8"},"#I3T4F8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5176\u4ed6 Web \u5c42\u7684 Startup \u4f18\u5148\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T8IP"},"#I3T8IP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8f85\u52a9\u89d2\u8272\u670d\u52a1\u5b9e\u73b0\u5efa\u8bae ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T906"},"#I3T906")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5f00\u542f ",(0,l.kt)("inlineCode",{parentName:"li"},"easy connection")," \u540e\u540c\u4e00\u5185\u7f51\u5730\u5740\u6d4f\u89c8\u5668\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\uff0c\u8fdc\u7a0b\u8bf7\u6c42\u5219\u65e0\u6cd5\u8bbf\u95ee",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TA2U"},"#I3TA2U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"scope.ServiceProvider.GetService"),"\u4e0d\u5b58\u5728 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TQMV"},"#I3TQMV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u80fd\u5426\u5728 WPF \u9879\u76ee\u4e2d\u4f7f\u7528\u5462\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TMCC"},"#I3TMCC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u591a\u4e2a\u6570\u636e\u6e90 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TM9B"},"#I3TM9B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"L.GetSelectCulture()")," \u65b9\u6cd5\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TQS4"},"#I3TQS4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5faa\u73af\u4e2d\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGen.NextID()")," \u5f97\u5230\u7684\u7ed3\u679c\u5e76\u4e0d\u662f\u8fde\u7eed\u7684 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UAF6"},"#I3UAF6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6a21\u5757\u5316\u52a8\u6001\u52a0\u8f7d\u63d2\u4ef6\u652f\u6301\u901a\u914d\u7b26\u5339\u914d.dll ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UDT8"},"#I3UDT8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u6a21\u5f0f\uff0c\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller")," \u91cc\u5feb\u6377\u65b9\u5f0f\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"View")," \u9875\u9762\u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UFGB"},"#I3UFGB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u8fc1\u79fb\u6ca1\u6709\u79cd\u5b50\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UI7G"},"#I3UI7G")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpareTimeAttribute")," \u4e2d \u6839\u636e Cron \u8868\u8fbe\u5f0f \u81ea\u52a8\u5339\u914d Cron \u8868\u8fbe\u5f0f\u683c\u5f0f\u5316\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UTKQ"},"#I3UTKQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"workService")," \u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3V8HJ"},"#I3V8HJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sqlserver 2008")," \u5206\u9875\u62a5\u9519\u5982\u4f55\u89e3\u51b3\u5462 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VF96"},"#I3VF96"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v250260-\u5df2\u53d1\u5e03"},"v2.5.0/2.6.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u865a\u62df\u6587\u4ef6\u670d\u52a1\uff0c\u652f\u6301\u7269\u7406\u6587\u4ef6\u548c\u5d4c\u5165\u8d44\u6e90\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RBR9"},"#I3RBR9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8bfb\u5199\u5206\u79bb/\u4e3b\u4ece\u590d\u5236\u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"IMSRepository")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"IMSRepository")," \u4ed3\u50a8\uff0c\u53ef\u8fdb\u884c\u968f\u673a\u6216\u81ea\u5b9a\u4e49\u83b7\u53d6\u4ece\u5e93"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u8131\u654f\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R5ZF"},"#I3R5ZF")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"InsertOrUpdate")," \u4e00\u7cfb\u5217\u6570\u636e\u5e93\u64cd\u4f5c\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RI9L"},"#I3RI9L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u6240\u6709\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"Exists")," \u5355\u8bcd\u7684\u6570\u636e\u5e93\u64cd\u4f5c\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RJ0T"},"#I3RJ0T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5206\u5e03\u5f0f GUID ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGenerater")," \u9759\u6001\u7c7b\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGen")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RGUA"},"#I3RGUA")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8c03\u7528\u65b9\u6cd5\u9519\u8bef\uff0c\u8bf7\u6c42\u62a5\u6587\u5934 ",(0,l.kt)("inlineCode",{parentName:"li"},"Headers")," \u4e0d\u80fd\u6dfb\u52a0\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"IHttpDispatchProxy")," \u7684\u5b50\u63a5\u53e3\u4e0a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RAF7"},"#I3RAF7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5e94\u7528\u542f\u52a8\u6027\u80fd\uff0c\u51cf\u5c11\u5185\u5b58\u5206\u914d"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8131\u654f\u5904\u7406\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R6WZ"},"#I3R6WZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6587\u4ef6\u7cfb\u7edf\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"FS")," \u9759\u6001\u7c7b\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RCC4"},"#I3RCC4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8bfb\u5199\u5206\u79bb/\u4e3b\u4ece\u590d\u5236\u3001\u6570\u636e\u5e93\u4ed3\u50a8\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"Db")," \u9759\u6001\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R3B6"},"#I3R3B6")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u96c6\u7fa4\u90e8\u7f72 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R3J4"},"#I3R3J4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5347\u7ea7\u6700\u65b0\u6846\u67b6\u4ee5\u540e\uff0c \u6570\u636e\u5e93\u751f\u6210\u6a21\u578b\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R7TP"},"#I3R7TP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4e8b\u52a1\u6267\u884c\u4e2d\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"SaveNow")," \u6267\u884c\u540e\u6709\u8b66\u544a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RAJI"},"#I3RAJI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Hangfire")," \u4f7f\u7528\u4e8b\u52a1\u51fa\u73b0\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ROQ5"},"#I3ROQ5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u5b9e\u73b0 cli \u4e0d\u6267\u884c\u67d0\u4e9b\u8868\u7684\u8fc1\u79fb\uff0cweb \u8bf7\u6c42\u53ef\u4ee5\u6b63\u5e38\u64cd\u4f5c\u5462\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ROU5"},"#I3ROU5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728\u4f7f\u7528\u5b9a\u65f6\u4efb\u52a1\u65f6\u5019\u51fa\u73b0\u7684\u95ee\u9898\uff1a\u7ee7\u627f ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RRZS"},"#I3RRZS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u65f6\u95f4\u5dee 8 \u5c0f\u65f6\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RSCO"},"#I3RSCO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetRepository<>")," \u65b9\u6cd5\u7ed3\u5408 ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u540e\u4e0d\u53ef\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RUK5"},"#I3RUK5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4e8b\u52a1\u5f00\u542f\u5931\u8d25\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RYJY"},"#I3RYJY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbProvider")," \u53ef\u52a8\u6001\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RYPE"},"#I3RYPE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"WorkService")," \u4f9d\u8d56\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISingleton")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RZ1L"},"#I3RZ1L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," \u8fd0\u884c\u671f\u52a8\u6001\u4fee\u6539 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S33Q"},"#I3S33Q"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v240-\u5df2\u53d1\u5e03"},"v2.4.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u81ea\u52a8\u52a0\u8f7d\u6a21\u5757\u5316/\u63d2\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},".xml")," \u6ce8\u91ca\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Q7XY"},"#I3Q7XY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext.FailedAutoRollback")," \u5c5e\u6027\uff0c\u53ef\u914d\u7f6e\u4e8b\u52a1\u662f\u5426\u81ea\u52a8\u56de\u6eda ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QOUS"},"#I3QOUS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("strong",{parentName:"li"},".NET 5 SDK \u4e3a 5.0.6 \u7248\u672c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IJsonSerializerProvider.GetSerializerOptions()")," \u63a5\u53e3\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QIJN"},"#I3QIJN")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddInject()")," \u65b9\u5f0f\u6ce8\u518c\uff0c\u6a21\u5757\u5316/\u63d2\u4ef6\u4e0d\u52a0\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Q7XH"},"#I3Q7XH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u79cd\u5b50\u6570\u636e\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," \u62a5\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QCM5"},"#I3QCM5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay.Object")," \u521b\u5efa\u7c98\u571f\u5bf9\u8c61\u540e\u5c5e\u6027\u53d8\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QRV3"},"#I3QRV3")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6\u5e95\u5c42\u6027\u80fd\uff0c\u51cf\u5c11\u5185\u5b58\u5360\u7528\uff0c\u63d0\u9ad8\u5e94\u7528\u521d\u59cb\u5316\u901f\u5ea6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/92f8cc1"},"92f8cc1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," JSON \u5e8f\u5217\u5316\u6587\u6863\u3001\u89c4\u8303\u5316\u7ed3\u679c\u6587\u6863\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdateNowAsync")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QKO5"},"#I3QKO5"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v230-\u5df2\u53d1\u5e03"},"v2.3.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.MongoDB")," \u62d3\u5c55\u5305\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PKST"},"#I3PKST")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001\u7c98\u571f\u7c7b\u578b\u76f4\u63a5\u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"object")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"dynamic")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OY27"},"#I3OY27")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Retry")," \u65b9\u6cd5\uff0c\u652f\u6301\u8bbe\u7f6e\u65b9\u6cd5\u8c03\u7528\u5931\u8d25\u8fdb\u884c\u91cd\u8bd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PJKQ"},"#I3PJKQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTSettings")," \u914d\u7f6e\u8282\u70b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Algorithm"),"\uff0c\u7528\u4e8e\u914d\u7f6e\u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PQGV"},"#I3PQGV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"repository.EnsureTransaction()")," \u65b9\u6cd5\u786e\u4fdd\u5de5\u4f5c\u5355\u5143\u4e8b\u52a1\u6709\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PVF1"},"#I3PVF1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 .NET 6.0.0 Preview 3 \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3P2C7"},"#I3P2C7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f7f\u7528\u6570\u636e\u5e93\u751f\u6210\u6a21\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"tools/cli.ps1"),"\uff0c\u4ece\u6570\u636e\u5e93\u8868\u751f\u6210\u7684\u5b9e\u4f53\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PL18"},"#I3PL18")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[NonUntify]")," \u7279\u6027\u540e\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Example Value")," \u6ca1\u6709\u5339\u914d\u6b63\u786e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PK0L"},"#I3PK0L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpareTimer.Tally")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Cron")," \u8868\u8fbe\u5f0f\u4e2d\u8ba1\u6570\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PWSE"},"#I3PWSE")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6846\u67b6\u9ed8\u8ba4\u5e8f\u5217\u5316\u5e94\u8be5\u4ece\u914d\u7f6e\u4e2d\u8bfb\u53d6\uff0c\u800c\u975e\u624b\u52a8\u7f16\u5199 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3P1SJ"},"#I3P1SJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u5e93\uff0c\u652f\u6301\u975e\u6cdb\u578b\u4ed3\u50a8\u83b7\u53d6\u4e0a\u4e0b\u6587\u64cd\u4f5c\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PK2N"},"#I3PK2N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u5206\u5e03\u5f0f\u5185\u5b58\u7f13\u5b58\u53ef\u914d\u7f6e\u5316 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3POKD"},"#I3POKD")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTSettings")," \u914d\u7f6e\u72ec\u7acb\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PQGW"},"#I3PQGW")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8f6f\u5220\u9664\u5982\u679c\u6570\u636e\u4e0d\u5b58\u5728\uff0c\u5219\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PTVB"},"#I3PTVB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u4e2a\u7c7b\u96c6\u6210\u6d4b\u8bd5\u4f1a\u9020\u6210\u6570\u636e\u5e93\u5b9a\u4f4d\u5668\u591a\u6b21\u6ce8\u518c\uff0c\u65e0\u6cd5\u8fd0\u884c\u6240\u6709\u6d4b\u8bd5\uff0c\u53ea\u80fd\u4e00\u4e2a\u7c7b\u4e00\u4e2a\u7c7b\u7684\u8fd0\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PXGY"},"#I3PXGY"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v220-\u5df2\u53d1\u5e03"},"v2.2.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c98\u571f\u7c7b\u578b\uff0c\u652f\u6301\u8ba9 ",(0,l.kt)("inlineCode",{parentName:"li"},"C#")," \u521b\u5efa\u4e00\u4e2a\u5f31\u7c7b\u578b\u5bf9\u8c61\u5e76\u64cd\u4f5c\u5f31\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O2QQ"},"#I3O2QQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u5e26\u8fd4\u56de\u503c\u91cd\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O47J"},"#I3O47J")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create()")," \u4e00\u7cfb\u5217\u65b9\u6cd5\u652f\u6301\u4f20\u5165\u4f5c\u7528\u57df\u5de5\u5382 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAP5"},"#I3OAP5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u4e8b\u4ef6\u603b\u7ebf\u540c\u6b65\u6267\u884c\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAW2"},"#I3OAW2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidation]")," \u8df3\u8fc7\u7a7a\u5b57\u7b26\u4e32\u548c\u7a7a\u503c\u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OGEN"},"#I3OGEN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u53ef\u914d\u7f6e\u662f\u5426\u81ea\u52a8\u6ce8\u518c ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OLW4"},"#I3OLW4")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"cancelInNoneNextTime: false")," \u4e00\u6b21\u4e5f\u4e0d\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O3N0"},"#I3O3N0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," SpareTime \u81ea\u5b9a\u4e49\u4e0b\u6b21\u6267\u884c\u65f6\u95f4\u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O46X"},"#I3O46X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"false")," \u65f6\uff0c\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u63d0\u4ea4\u62e6\u622a\u5668\u672a\u6dfb\u52a0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAWX"},"#I3OAWX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},'[Consumes("application/x-www-form-urlencoded")]')," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"ModelQuery")," \u914d\u7f6e\u540c\u65f6\u914d\u7f6e\u5bfc\u81f4\u7a7a\u5f15\u7528\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ODUR"},"#I3ODUR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5728 Grpc \u4e2d\u4f7f\u7528 jwt \u6388\u6743\u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OW3I"},"#I3OW3I")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u53d1\u5e03\u540e\u4ee3\u7801\u7cbe\u7b80\u914d\u7f6e\uff0c\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6587\u4ef6\u5939\u8f93\u51fa ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAPF"},"#I3OAPF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u81ea\u52a8\u5237\u65b0 Token \u673a\u5236\uff0c\u65b0\u589e\u5bb9\u9519\u503c\u5904\u7406\uff0c\u89e3\u51b3\u5e76\u53d1 Token \u5237\u65b0\u5931\u8d25\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OGYF"},"#I3OGYF")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7c98\u571f\u5bf9\u8c61\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OG18"},"#I3OG18")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebAPI \u5982\u4f55\u83b7\u53d6\u63a5\u6536\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O29B"},"#I3O29B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5b9a\u65f6\u4efb\u52a1\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Scope.CreateUow")," \u5f15\u53d1\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O2CD"},"#I3O2CD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5355\u6587\u4ef6\u53d1\u5e03\u7a0b\u5e8f\u5de5\u4f5c\u4e0d\u6b63\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O4D8"},"#I3O4D8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u540c\u65f6\u914d\u7f6e\u79df\u6237\u8fc7\u6ee4\u5668\u548c\u8f6f\u5220\u9664\u8fc7\u6ee4\u5668\uff0c\u6700\u7ec8\u7684 sql \u53ea\u751f\u6210\u4e86\u4e00\u79cd\u8fc7\u6ee4\u6761\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OB0A"},"#I3OB0A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," HTTP \u91cd\u5b9a\u5411 HTTPS \u540e\u8de8\u57df\u5931\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OB8R"},"#I3OB8R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728 PostgreSql \u6570\u636e\u5e93\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"rep.FirstOrDefault(u => u.Id == UserId);")," \u5f15\u8d77\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O5OF"},"#I3O5OF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5b9a\u65f6\u4efb\u52a1\u6709\u65f6\u80fd\u89e6\u53d1\u6709\u65f6\u4e0d\u80fd\u89e6\u53d1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ORBE"},"#I3ORBE"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v210-\u5df2\u53d1\u5e03"},"v2.1.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," \u65b9\u5f0f\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},'[SpareTime("{\u914d\u7f6e\u8def\u5f84}}]')," \u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NTUX"},"#I3NTUX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1\u652f\u6301\u5f02\u6b65\u59d4\u6258 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NP96"},"#I3NP96")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8f7b\u91cf\u7ea7\u5206\u5e03\u5f0f\u8fde\u7eed GUID \u751f\u6210\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NKLZ"},"#I3NKLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ClayObject")," \u6a21\u5757\uff0c\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"ExpandoObject")," \u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"IDictionary")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N3J4"},"#I3N3J4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.CreateUow(handler)")," \u521b\u5efa\u4f5c\u7528\u57df\u5e76\u81ea\u52a8\u63d0\u4ea4\u6570\u636e\u5e93\u66f4\u6539\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NU3G"},"#I3NU3G")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c4\u8303\u5316\u7ed3\u679c\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnResponseStatusCodes")," \u65b9\u6cd5\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyResultStatusCodesOptions")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NDB9"},"#I3NDB9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},"\u96ea\u82b1 ID \u5b9e\u73b0\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3NKLZ"},"#I3NKLZ"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u80fd\u652f\u6301\u975e int \u7c7b\u578b\u7684\u679a\u4e3e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NQM8"},"#I3NQM8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u7ebf\u7a0b\u6c60\u591a\u7ebf\u7a0b\u5e76\u53d1\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NR4L"},"#I3NR4L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u63a7\u5236\u5668\u8def\u7531\u540e\u4e14\u4e3a\u65b9\u6cd5\u53c2\u6570\u6307\u5b9a\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiSeat]")," \u540e\u751f\u6210\u8def\u7531\u91cd\u590d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NRF6"},"#I3NRF6")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u5e94\u7528\u542f\u52a8\u7684\u65f6\u5019\u8fc1\u79fb\u79cd\u5b50\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NH3M"},"#I3NH3M")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5206\u5e03\u5f0f ID \u751f\u6210\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B6CX"},"#I3B6CX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u6a21\u5757\u5316\u5f00\u53d1\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NSUS"},"#I3NSUS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," 20.4 \u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u5f0f > \u9519\u8bef",(0,l.kt)("inlineCode",{parentName:"li"},"ToAESDecrypt")," \u5199\u6210\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"ToToAESDecrypt")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NNKV"},"#")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6709\u5173\u3010\u5b9a\u65f6\u4efb\u52a1/\u59d4\u6258\u3011\u7684\u7591\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N3EW"},"#I3N3EW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u7edf\u4e00\u8fd4\u56de\u683c\u5f0f\u652f\u6301\u81ea\u5b9a\u4e49 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NU1G"},"#I3NU1G"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v200-\u5df2\u53d1\u5e03"},"v2.0.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u5e94\u7528\u7a0b\u5e8f\u53ca Worker Services \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K4DG"},"#I3K4DG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b8c\u6574\u4efb\u52a1\u8c03\u5ea6\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IRUX"},"#I3IRUX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Cron")," \u8868\u8fbe\u5f0f\u89e3\u6790 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IQ9Y"},"#I3IQ9Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"swagger.json")," \u5730\u5740\u6a21\u677f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IHMX"},"#I3IHMX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u914d\u7f6e\u52a8\u6001 WebApi \u533a\u57df ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IJAZ"},"#I3IJAZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u65b0\u589e\u652f\u6301\u4f20\u5165\u670d\u52a1\u63d0\u4f9b\u5668 ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceProvider")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IVBL"},"#I3IVBL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u914d\u7f6e\u9009\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"SupportPackageNamePrefixs")," \u914d\u7f6e\uff0c\u652f\u6301\u914d\u7f6e\u5305\u524d\u7f00 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K0SN"},"#I3K0SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e94\u7528\u542f\u52a8\u65f6\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"referenceassembly")," \u7c7b\u578b\u7a0b\u5e8f\u96c6\u626b\u63cf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K0SN"},"#I3K0SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4f9d\u8d56\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"AOP")," \u62e6\u622a\u83b7\u53d6\u65b9\u6cd5\u771f\u5b9e\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3LZBX"},"#I3LZBX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," EFCore \u624b\u52a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"SaveChanges()")," \u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N01Y"},"#I3N01Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Cors")," \u8de8\u57df\u66f4\u591a\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N2J0"},"#I3N2J0")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5b8c\u6574\u4efb\u52a1\u8c03\u5ea6\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IRUX"},"#I3IRUX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u65e5\u5fd7\u6a21\u5757\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J2K0"},"#I3J2K0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6a21\u677f\u5f15\u64ce\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J46E"},"#I3J46E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5e95\u5c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCoreRepository")," \u4ed3\u50a8 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J6W5"},"#I3J6W5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," sql \u5b57\u7b26\u4e32\u62d3\u5c55\u5e95\u5c42\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IVCE"},"#I3IVCE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5e95\u5c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlRepository")," \u6240\u6709\u903b\u8f91\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J6V6"},"#I3J6V6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6570\u636e\u5e93\u5b9e\u4f53\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J609"},"#I3J609")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4e8b\u4ef6\u4e8b\u4ef6\u603b\u7ebf\u540c\u6b65\u6267\u884c\u4e3a\u5f02\u6b65\u65b9\u5f0f\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J0WA"},"#I3J0WA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u6846\u67b6\u5e95\u5c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext.IsAjaxRequest()")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IVAA"},"#I3IVAA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes.Required")," \u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3KR85"},"#I3KR85")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5173\u95ed ",(0,l.kt)("inlineCode",{parentName:"li"},"InjectMiniProfiler")," \u53c2\u6570\u540e\u5185\u5b58\u7f13\u5b58\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IHLR"},"#I3IHLR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5728\u591a\u79df\u6237\u4e2d\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Tenant")," \u5c5e\u6027\u51fa\u73b0\u5076\u7136\u6027\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u88ab\u91ca\u653e\u7684\u60c5\u51b5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IC70"},"#I3IC70")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Sql \u4ee3\u7406\u4e2d\u5982\u679c\u8fd4\u56de\u57fa\u5143\u7c7b\u578b\u629b\u51fa\u4e0d\u80fd\u5c06 object \u8f6c\u6362\u6210\u5bf9\u5e94\u7c7b\u578b\u7684\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IC84"},"#I3IC84")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b58\u50a8\u8fc7\u7a0b\u591a\u8fd4\u56de\u503c\u7684\u65f6\u5019\uff0coutputvalues \u7684 name \u4e0d\u662f\u5b9a\u4e49\u7684 MSG \u7684 name\uff0c\u662f Msg \u7c7b\u578b\u3002 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IC7Y"},"#I3IC7Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," PhoneNumber \u624b\u673a\u53f7\u9a8c\u8bc1\u6b63\u5219\u8868\u8fbe\u5f0f\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ID10"},"#I3ID10")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165 AOP \u62e6\u622a\u65e0\u6cd5\u6355\u83b7\u5185\u90e8\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IGCC"},"#I3IGCC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5168\u5c40\u62e6\u622a\u6807\u8bb0\u5f02\u5e38\u5df2\u88ab\u5904\u7406\u540e\u5f02\u5e38\u8fc7\u6ee4\u5668\u4f9d\u7136\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J463"},"#I3J463")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38\u62e6\u622a\u5668\u4e0d\u8d77\u4f5c\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K1SJ"},"#I3K1SJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5728 WorkerService \u6a21\u5f0f\u4e0b\uff0c\u8fd8\u662f\u4f7f\u7528 WebHostEnvironment \u6765\u5224\u65ad Host \u73af\u5883\uff0c\u4f1a\u5bfc\u81f4\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3LCQY"},"#I3LCQY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"DoOnce")," \u629b\u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3M0ZT"},"#I3M0ZT")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u542f\u52a8\u65f6\u7a0b\u5e8f\u96c6\u626b\u63cf\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K0SN"},"#I3K0SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},'App.GetConfig<>("key")')," \u4e0d\u652f\u6301\u83b7\u53d6\u5355\u4e2a\u503c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ILF1"},"#I3ILF1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," UrlEncode \u5e94\u8be5\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Uri.EscapeDataString()")," \u800c\u4e0d\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpUtility.UrlEncode")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ICTK"},"#I3ICTK")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u4f4d\u4efb\u52a1\u3001\u540e\u53f0\u4efb\u52a1\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3JHHG"},"#I3JHHG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8f85\u52a9\u89d2\u8272\u670d\u52a1\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K5GN"},"#I3K5GN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u52a8\u6001 WebAPI\u3001\u89c4\u8303\u5316\u6587\u6863\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u6821\u9a8c\uff0c\u81ea\u5b9a\u4e49 ErrorMessage \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ICL3"},"#I3ICL3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6700\u65b0 issue \u4e2d\u65b0\u589e\u7684\u201c\u65b0\u589e\u5e38\u7528\u7684 JSON \u5e8f\u5217\u5316\u65b9\u6cd5\u201d \u4f1a\u5bfc\u81f4 AOP \u62e6\u622a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I7VE"},"#I3I7VE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Furion.DatabaseAccessor.PrivateEntityBase \u4e2d\u7684 TenantId \u6570\u636e\u7c7b\u578b\u8bbe\u7f6e\u4e3a object ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IQV6"},"#I3IQV6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6709\u5173\u5f02\u5e38\u62e6\u622a\u548c\u5904\u7406\u7684\u7591\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IUFZ"},"#I3IUFZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DataValidation")," \u5728\u7a7a\u503c\u7684\u60c5\u51b5\u4e0b\u88ab\u5ffd\u7565\u6389\u4e86",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IWSM"},"#I3IWSM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u65e5\u5fd7\u6587\u6863\u6ca1\u6709\u66f4\u65b0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J1DX"},"#I3J1DX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5bf9\u4e8e webapi \u7b80\u5355\u7c7b\u578b\u53c2\u6570\uff0c\u662f\u5426\u53ef\u4ee5\u4ee5 json \u65b9\u5f0f\u63d0\u4ea4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J18I"},"#I3J18I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IUnifyResultProvider")," \u5b9e\u73b0\u4e2d\u5982\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyModel")," \u7684 type \u4e0d\u662f\u8303\u578b\u4f1a\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3JBXF"},"#I3JBXF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u6a21\u5757\u5316\u5f00\u53d1\u65b0\u529f\u80fd\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J7ZZ"},"#I3J7ZZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5efa\u8bae\u589e\u52a0\u5fae\u670d\u52a1\u4e2d\u95f4\u4ef6\u7684\u96c6\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3JTZQ"},"#I3JTZQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u90e8\u7f72\u7684 swagger \u7684 MiniProfiler js \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IWLR"},"#I3IWLR"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1190-\u5df2\u53d1\u5e03"},"v1.19.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore 5.0")," \u652f\u6301 ",(0,l.kt)("strong",{parentName:"li"},"SqlServer 2005-2008")," \u6570\u636e\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HZZ6"},"#I3HZZ6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406\u652f\u6301\u6a21\u677f\u66ff\u6362\u4e86 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HHWU"},"#I3HHWU")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HH2T"},"#I3HH2T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"PBKDF2")," \u52a0\u5bc6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HN7A"},"#I3HN7A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e38\u7528\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u64cd\u4f5c\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HUYO"},"#I3HUYO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6240\u6709\u89e3\u6790\u670d\u52a1\u7684\u65b9\u6cd5\u90fd\u652f\u6301\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceProvidier")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HXEU"},"#I3HXEU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," .NET 5 SDK \u81f3 5.0.5 \u7248\u672c"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/x-www-form-urlencoded")," \u81ea\u52a8\u88ab\u8f6c\u7801\u4e86 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HDPC"},"#I3HDPC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISqlDispatchProxy")," \u8c03\u7528\u5e26\u8fd4\u56de\u503c\u7684\u5b58\u50a8\u8fc7\u7a0b\u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HISS"},"#I3HISS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6570\u636e\u5e93\u5de5\u4f5c\u5355\u5143\u5f02\u5e38\u65e0\u6cd5\u56de\u6eda\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I2KN"},"#I3I2KN")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/zuohuaijun/Admin.NET/issues/I3HYN5"},"#I3HYN5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Serilog \u65e5\u5fd7\u751f\u6210\u592a\u591a\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I2PN"},"#I3I2PN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"1.18.0")," \u7248\u672c\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u5b58\u5728\u8fde\u63a5\u6cc4\u6f0f\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I5KO"},"#I3I5KO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Sqlite \u63d0\u793a\u4e8b\u52a1\u5df2\u5b8c\u6210\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I9F2"},"#I3I9F2")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c6\u56fe\u6a21\u677f\u529f\u80fd\uff0c\u9ed8\u8ba4\u652f\u6301\u53ef\u679a\u4e3e\u6cdb\u578b\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3GYEE"},"#I3GYEE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5f00\u53d1\u9636\u6bb5 MiniProfiler \u6253\u5370\u6570\u636e\u5e93\u76f8\u5173\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I8VQ"},"#I3I8VQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," EFCore 5.0 \u672a\u63d0\u4f9b Sqlite \u6570\u636e\u5e93 DataAdapter \u7684\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I9FC"},"#I3I9FC")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u591a\u79df\u6237\u3001\u4ed3\u50a8\u3001\u65e5\u5fd7\u3001\u5e8f\u5217\u5316\u7b49\u6587\u6863\u3002"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5efa\u8bae MVC \u6a21\u5f0f\u4e0b\u589e\u52a0 Furion \u7684\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3GY4R"},"#I3GY4R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u5173\u8054\u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3H5QP"},"#I3H5QP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," 1.17.5 \u7248\u672c suagger \u65e0\u6cd5\u751f\u6210 swagger.json ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HGPZ"},"#I3HGPZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Serilog \u6269\u5c55+dll \u542f\u52a8\u4e0e swagger \u7684 MiniProfiler \u51b2\u7a81 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HWJM"},"#I3HWJM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Sql \u9ad8\u7ea7\u4ee3\u7406\u8fd4\u56de DataTable \u65f6\uff0c\u7ed3\u679c\u4e3a\u7a7a\u53d6\u4e0d\u5230\u8bb0\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HUWG"},"#I3HUWG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Task.Run \u64cd\u4f5c\u6570\u636e\u5e93\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HZ9D"},"#I3HZ9D"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1180-\u5df2\u53d1\u5e03"},"v1.18.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," 11 \u7248\u672c\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EVL5"},"#I3EVL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," \u5b98\u65b9\u5305 ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql.EntityFrameworkCore")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E6J1"},"#I3E6J1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApi")," \u53c2\u6570 ",(0,l.kt)("inlineCode",{parentName:"li"},"[FromQury]")," \u5316 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EFYJ"},"#I3EFYJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u516c\u5f00\u6846\u67b6\u5e95\u5c42\u4f9d\u8d56\u6ce8\u5165\u626b\u63cf\u6ce8\u518c\u62d3\u5c55 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddRisterTypes(types)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EIV3"},"#I3EIV3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," SqlSugar \u5de5\u4f5c\u5355\u5143\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EJO5"},"#I3EJO5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6c60\u4e00\u65e6\u6709\u4e0a\u4e0b\u6587\u64cd\u4f5c\u5931\u8d25\u8fd8\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u51fa\u73b0\u4e8c\u6b21\u63d0\u4ea4\u6570\u636e\u5e93\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EIJJ"},"#I3EIJJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e0d\u540c\u6570\u636e\u5e93\u547d\u4ee4\u53c2\u6570\u524d\u7f00\u90fd\u6dfb\u52a0\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"@")," \u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EBJP"},"#I3EBJP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5c1d\u8bd5\u4fee\u590d\u4e8b\u4ef6\u603b\u7ebf\u7ebf\u7a0b\u5b89\u5168\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EGSB"},"#I3EGSB")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/236"},"#PR236")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextExtensions")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"SignoutToSwagger")," \u65b9\u6cd5\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EHNQ"},"#I3EHNQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5982\u679c\u52a8\u6001 WebApi \u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiController]")," \u7279\u6027\u540e\uff0c\u5bfc\u81f4\u8def\u7531\u53c2\u6570\u91cd\u590d\u751f\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EOQQ"},"#I3EOQQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5982\u679c\u6ca1\u6709\u4efb\u4f55 webapi \u63a7\u5236\u5668\u65f6\uff0c\u6587\u6863\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EVLB"},"#I3EVLB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165\u6cdb\u578b\u7c7b\u578b\u6ce8\u518c\u5931\u8d25 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EX66"},"#I3EX66")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," SqlSugar \u62d3\u5c55\u5e93\u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"Context")," \u5c5e\u6027\u7c7b\u578b\u672a ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugarClient")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EHXA"},"#I3EHXA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5237\u65b0 Token \u9ed1\u540d\u5355 Redis \u4e2d\u5206\u7ec4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EQWO"},"#I3EQWO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u5728\u8bf7\u6c42\u62e6\u622a\u6b21\u53d1\u8d77\u4e8c\u6b21\u8bf7\u6c42\u5bfc\u81f4\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ER71"},"#I3ER71")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u591a\u79df\u6237\u9ed8\u8ba4\u7f13\u5b58\u6539\u4e3a\u5206\u5e03\u5f0f\u7f13\u5b58 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EXEU"},"#I3EXEU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u64cd\u4f5c\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E84X"},"#I3E84X")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u65b9\u4fbf\u7684\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDynamicApiController")," API \u4ea7\u751f\u7684 url \u548c \u8c13\u8bcd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ED17"},"#I3ED17")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Code First -\u6267\u884c\u547d\u4ee4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u9047\u5230\u4e86\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EHD0"},"#I3EHD0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," tools v1.16.0 \u65e0\u6cd5\u751f\u6210\u5b9e\u4f53\uff0c\u4e00\u76f4\u63d0\u793a Missing required argument ",(0,l.kt)("inlineCode",{parentName:"li"},""),". ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ENZ8"},"#I3ENZ8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Authorize \u7684 Logout \u6309\u94ae\uff0c\u65e0\u6cd5\u5b9e\u65f6\u8bf7\u7a7a token",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EOF9"},"#I3EOF9"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1170-\u5df2\u53d1\u5e03"},"v1.17.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u652f\u6301\u7ee7\u627f\u57fa\u7c7b\u914d\u7f6e\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D5PX"},"#I3D5PX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"multipart/form-data")," \u5185\u5bb9\u7c7b\u578b\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D7KG"},"#I3D7KG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b57\u7b26\u4e32\u52a0\u5bc6\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DHBW"},"#I3DHBW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u8fdc\u7a0b\u8bf7\u6c42\u53ef\u76f4\u63a5\u4e0b\u8f7d\u8fd4\u56de\u503c\u5185\u5bb9\u8f6c\u4e3a string \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DIGR"},"#I3DIGR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u5730\u5740\u652f\u6301\u6a21\u677f\u5f15\u64ce ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D5Y8"},"#I3D5Y8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidation]")," \u9519\u8bef\u6d88\u606f\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"string.Format")," \u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E08W"},"#I3E08W")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpRequestMessage")," \u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppendQueries()")," \u8ffd\u52a0\u66f4\u591a ",(0,l.kt)("inlineCode",{parentName:"li"},"query")," \u53c2\u6570\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E3DI"},"#I3E3DI")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository.AsAsyncEnumerable()")," \u8fd4\u56de\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DIQ1"},"#I3DIQ1"),"\uff0c\u8c03\u6574\u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"rep.AsQueryable().ToListAsync()")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u9a8c\u8bc1\u5931\u8d25\u540e\u4e5f\u6253\u5370\u4e86\u6210\u529f\u7684\u5b57\u6bb5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CVBS"},"#I3CVBS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"contentType")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"application/x-www-form-urlencoded")," \u65e0\u6548\u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CWBS"},"#I3CWBS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u65e0\u6cd5\u6253\u5370\u5b8c\u6574\u7684\u8bf7\u6c42\u5730\u5740\uff0c\u6bd4\u5982\u914d\u7f6e\u4e86 HttpClient \u4e4b\u540e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CY42"},"#I3CY42")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7a0b\u5e8f\u542f\u52a8\u65f6\u6392\u9664\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u7b97\u6cd5\u4e0d\u5bf9\uff0c\u5e94\u8be5\u91c7\u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D9E7"},"#I3D9E7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u6210\u529f\u8bf7\u6c42\u62e6\u622a\u4e0d\u751f\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DOE4"},"#I3DOE4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u6570\u636e\u5e93\u5207\u6362\u4e3a oracle \u65f6\uff0c\u7cfb\u7edf\u627e\u4e0d\u5230\u6307\u5b9a\u7684\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle.ManagedDataAccess.Core")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DYM3"},"#I3DYM3")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT token")," \u4fe1\u606f\u652f\u6301\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u524d\u7f00\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"Bearer ")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DJIV"},"#I3DJIV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5237\u65b0 Token \u9ed1\u540d\u5355\u5b58\u50a8\u65b9\u5f0f\uff0c\u5c06\u5185\u5b58\u7f13\u5b58\u8c03\u6574\u4e3a\u5206\u5e03\u5f0f\u7f13\u5b58 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DPBR"},"#I3DPBR")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CPJO"},"#I3CPJO")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LinqExpression.And")," \u6ca1\u6709 2 \u4e2a\u53c2\u6570\u7684\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CXKZ"},"#I3CXKZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5f02\u5e38\u4fe1\u606f \u5982\u4f55\u8bb0\u5f55\u5230\u6570\u636e\u5e93\u4e2d:) ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DDGO"},"#I3DDGO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u65e0\u952e\u5b9e\u4f53\u9009\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityNotKey")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DWRF"},"#I3DWRF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6839\u636e\u4e3b\u952e\u5220\u9664\u4e00\u6761\u8bb0\u5f55\u4e0d\u6210\u529f\uff0c\u65e0\u9519\u8bef\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DWWF"},"#I3DWWF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u81ea\u5b9a\u4e49\u63a5\u53e3\u8fd4\u56de\u683c\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DZN6"},"#I3DZN6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," DynamicApiController \u5982\u4f55\u5728\u8fd0\u884c\u65f6\u51b3\u5b9a\u662f\u5426\u516c\u5f00\u4e00\u4e2a Action ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D5UL"},"#I3D5UL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.DatabaseAccessor.DbHelpers")," \u65b9\u6cd5\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"ConvertToDbParameters")," \u662f\u4e0d\u662f\u5e94\u8be5\u8fc7\u6ee4\u6389\u8d34 ",(0,l.kt)("inlineCode",{parentName:"li"},"NotMapped")," \u7684\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E2XS"},"#I3E2XS"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1160-\u5df2\u53d1\u5e03"},"v1.16.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGenerator")," \u96ea\u82b1 ID \u7b97\u6cd5\uff0c\u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/yitter/idgenerator"},"idgenerator")," \u4f5c\u8005\u63d0\u4ea4 PR ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/204"},"#PR204")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B60S"},"#I3B60S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DbContext")," \u5237\u65b0\u591a\u79df\u6237\u7f13\u5b58\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39N5U"},"#I39N5U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u81ea\u5b9a\u4e49\u914d\u7f6e\u5355\u4e2a\u63a7\u5236\u5668\u540d\u79f0\u89c4\u8303\uff0c\u5982\u5c0f\u5199\u8def\u7531 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A5XL"},"#I3A5XL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u83b7\u53d6\u5f53\u524d\u9009\u62e9\u533a\u57df\u8bed\u8a00\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BSDH"},"#I3BSDH")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," .NET 5 SDK \u81f3 5.0.4 \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ASTL"},"#I3ASTL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u8fdc\u7a0b\u8bf7\u6c42\u6240\u6709\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2LB7M"},"#I2LB7M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u529f\u80fd\uff0c\u63d0\u4f9b\u7edf\u4e00\u7684\u62bd\u8c61\u63a5\u53e3\uff0c\u65b9\u4fbf\u81ea\u7531\u66ff\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39GT9"},"#I39GT9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de\u6d88\u606f\u6a21\u578b\u53ca\u89c4\u8303\u5316\u63a5\u53e3\u9a8c\u8bc1\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AFQW"},"#I3AFQW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u63d2\u4ef6\u5f0f\u5f00\u53d1\u70ed\u63d2\u62d4\u529f\u80fd\uff0c\u5b9e\u73b0\u52a8\u6001\u52a0\u8f7d\u5378\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/200"},"#PR200"),", \u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/samwangcoder"},"@SamWangCoder")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonSerializerUtility")," \u9759\u6001\u7c7b\u53ca\u79fb\u9664\u5c5e\u6027\u5927\u5199\u5e8f\u5217\u5316\u62d3\u5c55\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AFRJ"},"#I3AFRJ")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u6a21\u5f0f\u4e0b\u4e0d\u652f\u6301\u9a8c\u8bc1\u81ea\u5b9a\u4e49\u9a8c\u8bc1\u903b\u8f91 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39LM5"},"#I39LM5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9a8c\u8bc1\u6570\u503c\u7c7b\u578b\u6b63\u5219\u8868\u8fbe\u5f0f\u4e0d\u652f\u6301\u8d1f\u6570 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39YUV"},"#I39YUV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u542f\u52a8\u65f6\u65e0\u6cd5\u52a0\u8f7d\u672a\u88ab\u5f15\u7528\u7684\u7a0b\u5e8f\u96c6 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A3Z4"},"#I3A3Z4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCoreRepository.IsAttached()")," \u65b9\u6cd5\u5224\u65ad\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A824"},"#I3A824")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u52a8\u6001API")," \u9a7c\u5cf0\u663e\u793a\u914d\u7f6e\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AF32"},"#I3AF32")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps1")," \u4e0d\u652f\u6301\u65b0\u7248\u672c ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3APO9"},"#I3APO9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u5b9e\u4f53\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"[Table]")," \u7279\u6027\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BAYH"},"#I3BAYH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 WebAPI ",(0,l.kt)("inlineCode",{parentName:"li"},"CheckIsSplitCamelCase")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BLKX"},"#I3BLKX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u52a8\u6001 WebAPI \u914d\u7f6e\u4fdd\u7559 Action \u7684 Async \u540e\u7f00\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3C3DA"},"#I3C3DA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," Token \u5237\u65b0\u540e\u65e7\u7684\u5237\u65b0 Token \u4f9d\u65e7\u53ef\u7528 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3C8ZH"},"#I3C8ZH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u8bed\u8a00 ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor")," \u89c6\u56fe\u53d8\u91cf\u591a\u8bed\u8a00\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CBMU"},"#I3CBMU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u9ed8\u8ba4\u5e8f\u5217\u5316\u63d0\u4f9b\u5668 ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Text.Json")," \u53cd\u5e8f\u5217\u5316\u5b57\u7b26\u4e32\u65f6\u533a\u5206\u5927\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BSXV"},"#I3BSXV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4f18\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"MessageCenter")," \u6027\u80fd\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39PRR"},"#I39PRR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6c60\u5c0f\u6027\u80fd\u4f18\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Docker")," \u73af\u5883\u4e0b\u81ea\u52a8\u5316\u90e8\u7f72 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/209"},"#PR209")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316 \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B6D8"},"#I3B6D8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8de8\u57df\u3001\u5b89\u5168\u6388\u6743\u3001\u5373\u65f6\u901a\u4fe1\u6587\u6863\u3001\u591a\u8bed\u8a00\u3001\u89c4\u8303\u5316\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.SqlSugar")," \u914d\u7f6e\u591a\u4e2a\u6570\u636e\u5e93\u6253\u5370 SQL \u8bed\u53e5\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39PDC"},"#I39PDC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ORACLE")," \u6570\u636e\u5e93\u591a\u79df\u6237\u6a21\u5f0f\u4e0b\u8fd4\u56de\u503c\u4e3a\u6307\u5b9a\u7c7b\u578b\u65f6\u7cfb\u7edf\u5361\u6b7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39RNH"},"#I39RNH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5047\u5220\u9664\u6307\u5411\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39XZA"},"#I39XZA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u591a\u8bed\u8a00\u914d\u7f6e\u8282\u662f\u653e\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u91cc\u9762\u8fd8\u662f\u5916\u9762\u5462\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A4SB"},"#I3A4SB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6ca1\u627e\u5230\u6570\u636e\u5e93\u4e0a\u4e0b\u6587 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A5HS"},"#I3A5HS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},"QQ")," \u4ea4\u6d41\u7fa4\u5417\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AAM7"},"#I3AAM7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Vue3")," \u73af\u5883\u4e0b\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"SignalR")," \u8de8\u57df\u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ALQ7"},"#I3ALQ7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u53c2\u6570\u975e\u5fc5\u586b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AT02"},"#I3AT02")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," EFCore \u8c03\u7528 Insert \u65f6\u62a5 ",(0,l.kt)("inlineCode",{parentName:"li"},"Unknown column 'Discriminator' in 'field list'")," \u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B2LC"},"#I3B2LC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u9006\u5411 ",(0,l.kt)("inlineCode",{parentName:"li"},"mysql")," \u6570\u636e\u5e93\u65f6 ",(0,l.kt)("inlineCode",{parentName:"li"},"cli")," \u51fa\u73b0\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B64F"},"#I3B64F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Sql \u9ad8\u7ea7\u4ee3\u7406\u4f7f\u7528\u8fc7\u7a0b\u4e2d DateTime \u7c7b\u578b\u7684\u53c2\u6570\u5e8f\u5217\u5316\u5931\u8d25 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AZXK"},"#I3AZXK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4f7f\u7528 Mysql \u6267\u884c Add-Migration \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B8EW"},"#I3B8EW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Saas \u591a\u79df\u6237\u6a21\u5f0f-\u72ec\u7acb Database \u6a21\u5f0f\u4e0b\u65e0\u6cd5\u83b7\u53d6 Tenant, \u5bfc\u81f4\u65e0\u6cd5\u81ea\u52a8\u5207\u6362\u7684\u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AVXU"},"#I3AVXU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u81ea\u5b9a\u4e49 WebAPI \u7edf\u4e00\u7ed3\u679c\u6a21\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BBYW"},"#I3BBYW")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BBYV"},"#I3BBYV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Web.Entry")," \u9879\u76ee\u65b0\u5efa\u4e86\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller"),"\uff0c\u591a\u4e86\u672a\u77e5\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BKH5"},"#I3BKH5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AOP")," \u62e6\u622a\u5982\u4f55\u89e3\u6790\u670d\u52a1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BUM3"},"#I3BUM3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebAPI \u8fd4\u56de\u53c2\u6570\u88ab\u7701\u7565 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3C2XR"},"#I3C2XR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u8bbe\u7f6e\u67d0\u4e00\u4e2a\u63a5\u53e3\u54cd\u5e94\u6570\u636e\u4e0d\u81ea\u52a8\u8f6c\u5c0f\u5199\uff0c\u6309\u539f\u59cb\u5b57\u6bb5\u540d\u8fd4\u56de ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38L9B"},"#I38L9B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," code first \u5982\u4f55\u914d\u7f6e\u81ea\u52a8\u8fc1\u79fb ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CCR0"},"#I3CCR0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," webapi \u6df7\u5408\u6388\u6743\u5982\u4f55\u533a\u5206\u4e0d\u540c\u7cfb\u7edf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CJCY"},"#I3CJCY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," EFCore \u4e0d\u652f\u6301\u9012\u5f52\u65e0\u9650\u7ea7\u904d\u5386\u5173\u7cfb ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CET9"},"#I3CET9"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1150-\u5df2\u53d1\u5e03"},"v1.15.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8df3\u8fc7\u7279\u5b9a\u5b9e\u4f53\u6570\u636e\u5e93\u64cd\u4f5c\u76d1\u542c\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I386LB"},"#I386LB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityChangedListener")," \u589e\u52a0\u5bf9 ",(0,l.kt)("inlineCode",{parentName:"li"},"OldEntity")," \u7684\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I385X2"},"#I385X2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9e\u65f6\u901a\u4fe1\u81ea\u52a8\u914d\u7f6e\u96c6\u7ebf\u5668\u62d3\u5c55\u53ca\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I387QX"},"#I387QX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mapster")," \u62d3\u5c55\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"IMapper")," \u4f9d\u8d56\u6ce8\u5165\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38C7C"},"#I38C7C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[AppDbContext]")," \u7279\u6027\u9ed8\u8ba4\u6784\u9020\u51fd\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38J97"},"#I38J97")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyContext.GetExceptionMetadata(context)")," \u8fd4\u56de\u9519\u8bef\u7801\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38ONX"},"#I38ONX")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6b21\u5faa\u73af\u4e2d\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetNewDbContext()")," \u8fd8\u662f\u83b7\u53d6\u5230\u540c\u4e00\u4e2a\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38NNP"},"#I38NNP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u8fc7\u6ee4\u6389 ",(0,l.kt)("inlineCode",{parentName:"li"},"object ")," \u7c7b\u578b\u5c5e\u6027\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38FHL"},"#I38FHL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u540c\u4e00\u7c7b\u4e0d\u652f\u6301\u591a\u7ee7\u627f ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityChangedListener")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38UQJ"},"#I38UQJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u5e8f\u5217\u5316\u5c5e\u6027\u540d\u79f0\u5bfc\u81f4\u9a8c\u8bc1\u5931\u8d25\u5c5e\u6027\u4e0d\u5339\u914d\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38W8Z"},"#I38W8Z")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4ee3\u7801\u4e0d\u89c4\u8303\u547d\u540d\u5bfc\u81f4\u5f00\u53d1\u8005\u9605\u8bfb\u4ee3\u7801\u65f6\u4ea7\u751f\u6b67\u4e49"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FluentValidation")," \u96c6\u6210\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38IOT"},"#I38IOT")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6\u7248\u672c\u5411\u4e0b\u517c\u5bb9\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38WMZ"},"#I38WMZ"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1140\u5df2\u53d1\u5e03"},"v1.14.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," 5.0 \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37Z8E"},"#I37Z8E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u662f\u5426\u5728\u5f00\u53d1\u73af\u5883\u4e0b\u663e\u793a\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37YQ2"},"#I37YQ2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[NonUnify]")," \u652f\u6301\u5728\u7c7b\u4e2d\u8d34\u6b64\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I359Q6"},"#I359Q6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7f51\u7edc\u8bf7\u6c42")," \u5b57\u7b26\u4e32 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpClient")," \u62e6\u622a\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I35F3E"},"#I35F3E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpRequest")," \u83b7\u53d6\u8fdc\u7a0b\u5730\u5740\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3688Z"},"#I3688Z")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddMvcFilter<>")," \u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u8fc7\u6ee4\u5668\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I368BH"},"#I368BH")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u6846\u67b6\u4f9d\u8d56\u7684 .NET 5 SDK \u81f3\u6700\u65b0\u7248 5.0.3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37YQQ"},"#I37YQQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swashbuckle.AspNetCore")," \u7ec4\u4ef6\u5305\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"6.0.x")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37EZK"},"#I37EZK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u62d3\u5c55\u7c7b\uff0c\u53ea\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Authentication.JwtBearer")," \u4e2d\u4fdd\u7559 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I35D59"},"#I35D59")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f20\u5165\u9519\u8bef ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u5b57\u7b26\u4e32\u5bfc\u81f4\u81ea\u52a8\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u51fa\u73b0\u5b57\u7b26\u4e32\u8fb9\u754c\u503c\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34ZE5"},"#I34ZE5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u77ac\u65f6\u4f5c\u7528\u57df\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4e5f\u4f1a\u81ea\u52a8\u52a0\u5165\u5de5\u4f5c\u5355\u5143\u5bfc\u81f4\u5199\u65e5\u5fd7\u65f6\u8fde\u9501\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37WTV"},"#I37WTV")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u83b7\u53d6\u7cfb\u7edf\u73af\u5883\u53c2\u6570\u7684\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SR5"},"#I36SR5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5e95\u5c42\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u8fc7\u6ee4\u5668\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SKA"},"#I36SKA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6dfb\u52a0\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Json")," \u5e8f\u5217\u5316\u65f6\u95f4\u9ed8\u8ba4\u65f6\u95f4\u683c\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SL0"},"#I36SL0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u5305\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"5.0.2.6")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SIG"},"#I36SIG")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u5165\u95e8\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37Z8S"},"#I37Z8S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u66f4\u65b0\u65e5\u5fd7\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36PI0"},"#I36PI0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8bf7\u6c42\u5ba1\u8ba1\u65e5\u5fd7\u3001\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u66f4\u65b0\u65e5\u5fd7\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36PIK"},"#I36PIK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u524d\u7aef\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"axios")," \u8de8\u57df\u914d\u7f6e\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36PIT"},"#I36PIT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App")," \u9759\u6001\u7c7b\u83b7\u53d6\u5e94\u7528\u3001\u73af\u5883\u66f4\u591a\u4fe1\u606f\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SOV"},"#I36SOV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u82f1\u6587\u7248 ",(0,l.kt)("inlineCode",{parentName:"li"},"README.md")," \u4ecb\u7ecd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37QHP"},"#I37QHP"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1130\u5df2\u53d1\u5e03"},"v1.13.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00\u529f\u80fd\u53ca\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DOCL"},"#I2DOCL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u529f\u80fd\u53ca\u6d88\u606f\u4e2d\u5fc3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I23BKN"},"#I23BKN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5206\u7ec4\u663e\u793a\u9690\u85cf\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AHH8"},"#I2AHH8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u63d2\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AAN8"},"#I2AAN8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"-Namespace")," \u547d\u540d\u7a7a\u95f4\u6307\u5b9a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A175"},"#I2A175")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u89c4\u8303\u5316\u5316\u6587\u6863\u6388\u6743\u5931\u6548\u540e\u81ea\u52a8\u53d6\u6d88\u6388\u6743\u9501 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AIWC"},"#I2AIWC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Request.Body")," \u652f\u6301\u91cd\u590d\u8bfb\u529f\u80fd\uff0c\u4e3b\u8981\u89e3\u51b3\u5fae\u4fe1 SDK \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AMG0"},"#I2AMG0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42\u529f\u80fd\u53ca\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2APGJ"},"#I2APGJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u5305\u652f\u6301\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u4e2d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ASLS"},"#I2ASLS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccesssor.Dapper")," \u62d3\u5c55\u63d2\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ASYA"},"#I2ASYA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.PetaPoco")," \u62d3\u5c55\u63d2\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AUGA"},"#I2AUGA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42\u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CPQ0"},"#I2CPQ0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"PagedList")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CW99"},"#I2CW99")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301\u53c2\u6570\u7279\u6027\u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CX5L"},"#I2CX5L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.User")," \u83b7\u53d6\u5f53\u524d\u6388\u6743\u7528\u6237\u4fe1\u606f\u4fbf\u6377\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CZLO"},"#I2CZLO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863\u53ef\u914d\u7f6e\u529f\u80fd\uff0c\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"appsettings.json")," \u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D1K9"},"#I2D1K9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u62e6\u622a\u5668\u6dfb\u52a0\u65b9\u6cd5\u548c\u65b9\u6cd5\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D2CM"},"#I2D2CM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u51fa\u9519\u8fd4\u56de\u9ed8\u8ba4\u503c\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D44M"},"#I2D44M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"body")," \u53c2\u6570\u5e8f\u5217\u5316\u652f\u6301\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"PropertyNamingPolicy")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D685"},"#I2D685")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u670d\u52a1\u63a5\u53e3\u5ba2\u6237\u7aef\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D7PS"},"#I2D7PS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AddInject")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UseInject")," \u5141\u8bb8\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"SecurityDefinitions")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SwaggerUI")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DIMG"},"#I2DIMG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SecurityDefine]")," \u9ed8\u8ba4\u6784\u9020\u51fd\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DNXT"},"#I2DNXT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AspectDispatchProxy")," \u52a8\u6001\u4ee3\u7406\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO6I"},"#I2DO6I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[QueryParameters]")," \u7279\u6027\uff0c\u652f\u6301\u4e00\u952e\u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"Action")," \u53c2\u6570\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"[FromQuery]")," \u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2G8TF"},"#I2G8TF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001\u65e5\u5fd7\u914d\u7f6e\u53ca\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2GDGD"},"#I2GDGD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApi")," \u8bf7\u6c42\u8c13\u8bcd\u9ed8\u8ba4\u89c4\u5219\u914d\u7f6e\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M70X"},"#I2M70X")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 5")," SDK \u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 5.0.2")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D0PZ"},"#I2D0PZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6846\u67b6\u5185\u6240\u6709\u62d3\u5c55\u7c7b\u547d\u540d\u7a7a\u95f4\uff0c\u5168\u90e8\u8fc1\u79fb\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.\u6a21\u5757.Extensions")," \u4e0b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AH54"},"#I2AH54")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u8bb0\u4f4f\u6388\u6743\u5b58\u50a8\u65b9\u5f0f\uff0c\u66ff\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"Session")," \u5b58\u50a8\u65b9\u5f0f\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"LocalStorage")," \u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AKUA"},"#I2AKUA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6\u5305\u63cf\u8ff0\u6587\u4ef6\uff0c\u51cf\u5c11\u6846\u67b6\u4f53\u79ef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2APAU"},"#I2APAU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.CanBeScanTypes")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"App.EffectiveTypes")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B0ZR"},"#I2B0ZR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.ServiceProvider")," \u5c5e\u6027\u5e76\u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetDuplicateXXX")," \u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CYZE"},"#I2CYZE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDuplicateDbContext")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetNewDbContext")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CZ04"},"#I2CZ04")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetSqlDispatchProxy")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetSqlProxy")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO9T"},"#I2DO9T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Aop")," \u670d\u52a1\u62e6\u622a\u5668\uff0c\u652f\u6301\u5f02\u6b65\u3001\u540c\u6b65\u4e24\u79cd\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B9HQ"},"#I2B9HQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u7f51\u7edc\u8bf7\u6c42\u6240\u6709\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BMR7"},"#I2BMR7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u89c4\u8303\u5316\u5316\u7ed3\u679c\u4e0d\u4e00\u81f4 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ACF3"},"#I2ACF3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u65b0\u589e\u6216\u66f4\u65b0\u5ffd\u7565\u7a7a\u503c\u64cd\u4f5c\u65b9\u6cd5\u62a5\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AB6C"},"#I2AB6C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Startup.cs")," Aop \u5168\u5c40\u62e6\u622a\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A7T2"},"#I2A7T2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u8fc7\u671f\u540e\u81ea\u52a8\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u65e0\u6cd5\u83b7\u53d6\u6700\u65b0\u7684\u7528\u6237\u4fe1\u606f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AWQI"},"#I2AWQI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},'[ApiDescriptionSettings(Tag="xx")]')," \u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"swagger.json")," \u62a5\u9519 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B47R"},"#I2B47R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," sql \u6570\u636e\u5e93\u67e5\u8be2\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"tinyint")," \u7c7b\u578b\u8f6c\u6362\u51fa\u9519 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BEBM"},"#I2BEBM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u591a\u6b21\u5305\u88f9\u7c7b\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BHHZ"},"#I2BHHZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 Api \u57fa\u5143\u7c7b\u578b\u6570\u7ec4\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BMS5"},"#I2BMS5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u67e5\u8be2\u679a\u4e3e\u7c7b\u578b\u8f6c\u6362\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BS2Y"},"#I2BS2Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"string.SqlQuerizeAsync()")," \u62d3\u5c55\u8fd4\u56de\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BSTS"},"#I2BSTS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 Api \u5b50\u7c7b\u91cd\u5199\u7236\u7c7b\u65b9\u6cd5\u5e76\u53d6\u522b\u540d\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2C9VP"},"#I2C9VP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7f51\u7edc\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/json")," \u5e8f\u5217\u5316\u5927\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CRJC"},"#I2CRJC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6570\u636e\u5e93\u5b9a\u4f4d\u5668\u5b9e\u4f53\u5d4c\u5957\u5173\u8054 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CVN0"},"#I2CVN0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8de8\u57df\u54cd\u5e94\u5934\u8bbe\u7f6e\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CW5T"},"#I2CW5T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u7f51\u7edc\u8bf7\u6c42\u4ee3\u7406\u6253\u5370\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CZBC"},"#I2CZBC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u54cd\u5e94\u62e6\u622a\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D4DG"},"#I2D4DG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u6846\u67b6 ",(0,l.kt)("inlineCode",{parentName:"li"},"AsQueryable()")," \u4e00\u76f4\u8ffd\u52a0\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DH1D"},"#I2DH1D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u52a8\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO29"},"#I2DO29")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u4e0d\u4f20\u8fc7\u671f\u65f6\u95f4\u51fa\u73b0\u9a8c\u8bc1 401 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO8L"},"#I2DO8L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppStartup")," \u6392\u5e8f\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DVD2"},"#I2DVD2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u542f\u7528\u591a\u8bed\u8a00\u670d\u52a1\u65f6\u53cb\u597d\u5f02\u5e38\u548c\u9a8c\u8bc1\u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ECUJ"},"#I2ECUJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u6821\u9a8c\u5b57\u6bcd\u548c\u6570\u5b57\u7ec4\u5408\u65e0\u6cd5\u5339\u914d bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EF2Q"},"#I2EF2Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u6821\u9a8c\u624b\u673a\u6216\u56fa\u8bdd\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M5IZ"},"#I2M5IZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u89e3\u6790 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlConnection")," \u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M5P2"},"#I2M5P2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f00\u542f\u591a\u8bed\u8a00\u540e\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"EF")," \u8fc1\u79fb\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M7DT"},"#I2M7DT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityTypeBuilder")," \u4e0d\u652f\u6301\u591a\u91cd\u7ee7\u627f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2PAOD"},"#I2PAOD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JwtHandler")," \u8bbe\u7f6e\u81ea\u52a8\u5237\u65b0\u540e\uff0c\u533f\u540d\u8bbf\u95ee\u65e0\u6cd5\u901a\u8fc7 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2SDOX"},"#I2SDOX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlServer")," \u6570\u636e\u5e93\u83b7\u53d6\u8fde\u63a5\u5bf9\u8c61\u7c7b\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/159"},"#PR159")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u67e5\u8be2\u7ed3\u679c\u6620\u5c04\u68c0\u67e5 ",(0,l.kt)("inlineCode",{parentName:"li"},"[NotMapper]")," \u7279\u6027\u673a\u5236 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XD0"},"#I34XD0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4f9d\u8d56\u6ce8\u5165\u65f6\u6392\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDynamicApiController")," \u63a5\u53e3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ECTG"},"#I2ECTG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u52a0\u5bc6\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/158"},"#PR158")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6587\u6863\u9996\u9875 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XBR"},"#I34XBR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2APGJ"},"#I2APGJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DOCL"},"#I2DOCL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6587\u6863\u5168\u6587\u641c\u7d22\u5f15\u64ce ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XAW"},"#I34XAW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u9759\u6001\u7c7b\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XB4"},"#I34XB4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6846\u67b6\u53ef\u914d\u7f6e\u9009\u9879\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XB9"},"#I34XB9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XBI"},"#I34XBI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u52a0\u89e3\u5bc6\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XC0"},"#I34XC0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8d21\u732e\u6307\u5357\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XC8"},"#I34XC8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6587\u4ef6\u4e0a\u4f20\u4e0b\u8f7d")," \u535a\u5ba2\u6587\u7ae0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XCB"},"#I34XCB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6587\u6863\u5c0f\u8c03\u6574\uff0c\u5c0f\u4f18\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8de8\u57df\u8bbe\u7f6e\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ASNJ"},"#I2ASNJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u89c6\u56fe\u65e0\u6548\uff0c\u539f\u56e0\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},".cshtml")," \u6587\u4ef6\u6ca1\u6709\u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5185\u5bb9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AXUU"},"#I2AXUU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u64cd\u4f5c\u53ef\u4ee5\u5b9e\u73b0\u4e8b\u52a1\u5417\uff1f",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B0NX"},"#I2B0NX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u64cd\u4f5c\u6570\u636e\u5e93\u4f1a\u6253\u5f00\u591a\u6b21\u6570\u636e\u5e93\u8fde\u63a5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BB7B"},"#I2BB7B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u8fdb\u5165\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppAuthorizeHandler")," \u65ad\u70b9 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BGXY"},"#I2BGXY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u6ce8\u5165\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2C2AQ"},"#I2C2AQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5efa\u8bae\u589e\u52a0 API \u7b7e\u540d\u9a8c\u8bc1\uff0c\u65f6\u6548\u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2C6ET"},"#I2C6ET")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u6570\u636e\u5e93\u591a\u79df\u6237\u540c\u65f6\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CEHS"},"#I2CEHS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISqlSugarRepository")," \u6ca1\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},"Getxxx")," \u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CJLZ"},"#I2CJLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps1")," \u5982\u4f55\u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u91cc\u7684\u8868\u5bfc\u51fa\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"model")," \u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CSUL"},"#I2CSUL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u624b\u52a8\u4fee\u6539 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7ec8\u7ed3\u70b9\u8def\u5f84\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D608"},"#I2D608")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DefaultDbContext")," \u4e0d\u80fd\u8bc6\u522b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DCZX"},"#I2DCZX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5404\u5206\u5c42\u9879\u76ee ",(0,l.kt)("inlineCode",{parentName:"li"},"Startup.cs")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Configuration")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DDUP"},"#I2DDUP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Aop")," \u65e0\u6cd5\u62e6\u622a\uff0c\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DEY8"},"#I2DEY8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"mysql")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DSB8"},"#I2DSB8"),"\\"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Entity")," \u521b\u5efa\u65f6\u95f4\u548c\u662f\u5426\u5220\u9664\u6dfb\u52a0\u9ed8\u8ba4\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E04H"},"#I2E04H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"swagger")," \u4e2d\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"servers")," \u8bbe\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E0IF"},"#I2E0IF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5168\u5c40\u7b5b\u9009\u5668 \u6ca1\u6709\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E5R4"},"#I2E5R4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u6570\u636e\u5e93\u5b9a\u4f4d\u5668\u7591\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E77T"},"#I2E77T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps")," \u9006\u5411\u5de5\u7a0b ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," \u6570\u636e\u5e93\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E7I5"},"#I2E7I5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5f00\u53d1\u73af\u5883 ",(0,l.kt)("inlineCode",{parentName:"li"},"applicationsettings.json")," \u4e2d\u6587\u4e71\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EAG1"},"#I2EAG1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u589e\u52a0\u6307\u5b9a\u8def\u5f84\u7a0b\u5e8f\u96c6\u6620\u5c04 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EEO2"},"#I2EEO2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001\u7f16\u8bd1 ",(0,l.kt)("inlineCode",{parentName:"li"},"cs")," \u811a\u672c\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EH66"},"#I2EH66")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u81ea\u5b9a\u4e49\u4e2d\u95f4\u4ef6\uff0c\u8fd4\u56de\u7684\u9519\u8bef\u6ca1\u6709\u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2NV8S"},"#I2NV8S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5faa\u73af\u5f15\u7528\u8bbe\u7f6e\u751f\u6210\u6587\u6863\u5c42\u7ea7\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2PLQQ"},"#I2PLQQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u914d\u7f6e\u6587\u4ef6\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"yaml")," \u6587\u4ef6\u5417? ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2TJ3N"},"#I2TJ3N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4fee\u6539\u6570\u636e\u5e93\u672a ",(0,l.kt)("inlineCode",{parentName:"li"},"mysql")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2VR64"},"#I2VR64")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u6570\u636e\u5e93\u4f7f\u7528\u5b9a\u4f4d\u5668\u65f6\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2VR8F"},"#I2VR8F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Migration To Oracle")," \u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2WBYQ"},"#I2WBYQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5f00\u53d1\u65f6\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger"),"\uff0c\u4e0a\u7ebf\u65f6\u5173\u95ed ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger"),"\uff0c\u8fd9\u9700\u8981\u600e\u4e48\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2WOYV"},"#I2WOYV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u517c\u5bb9 Mvc \u590d\u6742\u9a8c\u8bc1\u6ca1\u6709\u8bd5\u9a8c\u6210\u529f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2X3GV"},"#I2X3GV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Aop")," \u80fd\u4e0d\u80fd\u652f\u6301\u65e0\u63a5\u53e3\u7684\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2X8AS"},"#I2X8AS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u81ea\u52a8\u5237\u65b0\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2YD4K"},"#I2YD4K")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u80fd\u5426\u589e\u52a0\u4e00\u4e2a\u62d3\u5c55\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Entity"),"\uff0c\u589e\u52a0\u4e00\u4e9b\u62d3\u5c55\u7684\u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2YDKT"},"#I2YDKT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u65e0\u6cd5\u8fd8\u539f\u5305\uff0c\u4f7f\u7528",(0,l.kt)("inlineCode",{parentName:"li"},"Nuget")," \u4e0b\u8f7d\u548c\u901a\u8fc7\u6700\u65b0\u7684\u7684\u811a\u624b\u67b6\u4e0b\u8f7d\u90fd\u63d0\u793a\u8fd9\u4e2a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I30446"},"#I30446")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u590d\u6742\u6821\u9a8c\u4e0e\u7279\u6027\u9a8c\u8bc1\u4e0d\u80fd\u5e76\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3046U"},"#I3046U"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v170\u5df2\u53d1\u5e03"},"v1.7.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.ObjectMapper.Mapster")," \u62d3\u5c55\u5305 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LSJ"},"#I29LSJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u5305 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AAN8"},"#I2AAN8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Web.HttpContext")," \u62d3\u5c55\u5305 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LSM"},"#I29LSM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5185\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5237\u65b0\u673a\u5236\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29K57"},"#I29K57")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\uff0c\u652f\u6301\u8fd0\u884c\u65f6\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"OnModelCreating")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28UDT"},"#I28UDT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u4f9d\u8d56\u6ce8\u5165\u6392\u9664\u6307\u5b9a\u63a5\u53e3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29693"},"#I29693")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u7ed3\u679c\u8fd4\u56de\u65f6\u95f4\u6233\u5b57\u6bb5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29697"},"#I29697")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u57fa\u7840 ",(0,l.kt)("inlineCode",{parentName:"li"},"CURD")," \u7236\u7c7b\u64cd\u4f5c\u4f8b\u5b50 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I296SR"},"#I296SR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},'sql.Change("\u5b9a\u4f4d\u5668\u5b8c\u6574\u7c7b\u578b\u540d\u79f0")')," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LAB"},"#I29LAB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateInclude")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateExclude")," \u5ffd\u7565\u7a7a\u53c2\u6570\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29VUG"},"#I29VUG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u5185\u7f6e\u5047\u5220\u9664\u67e5\u8be2\u8fc7\u6ee4\u5668\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29Y2R"},"#I29Y2R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5ffd\u7565\u7a7a\u503c\u6392\u9664\u9ed8\u8ba4\u65f6\u95f4\u683c\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29VUV"},"#I29VUV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u7ec4\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I297R9"},"#I297R9")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppAuthorizeHandler")," \u6388\u6743\u7ba1\u9053\u4e3a\u5f02\u6b65\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29MD9"},"#I29MD9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u6388\u6743\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LI4"},"#I29LI4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextUtilities")," \u540d\u79f0\u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextLocal")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29KQE"},"#I29KQE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyResultContext")," \u540d\u79f0\u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyContext")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LLZ"},"#I29LLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u53ea\u6709\u6267\u884c\u8fc1\u79fb\u547d\u4ee4\u624d\u626b\u63cf\u79cd\u5b50\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29E6P"},"#I29E6P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"Successed")," \u5c5e\u6027\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Succeeded")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29NMV"},"#I29NMV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mapster")," \u5bf9\u8c61\u7ec4\u4ef6\uff0c\u91c7\u7528\u63d0\u4f9b\u62d3\u5c55\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29D2M"},"#I29D2M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"CacheManager")," \u62d3\u5c55\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LU1"},"#I29LU1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SaveChanges")," \u62e6\u622a\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I292LO"},"#I292LO")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u6ce8\u518c\u7684\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4e5f\u88ab\u5f15\u7528\u5168\u5c40\u67e5\u8be2\u62e6\u622a\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29ZXJ"},"#I29ZXJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u624b\u52a8\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"BadObjectResult")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationProblemDetails")," \u7ed3\u679c\u7c7b\u578b\u65f6\u89c4\u8303\u5316\u7ed3\u679c\u5931\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29ZU9"},"#I29ZU9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 WebApi ",(0,l.kt)("inlineCode",{parentName:"li"},"KeepName"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"KeepVerb"),"\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"SplitCamelCase")," \u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29X90"},"#I29X90")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql\u4ee3\u7406")," \u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5143\u7ec4")," \u7c7b\u578b\u51fa\u9519 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29SMV"},"#I29SMV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"401\uff0c403")," \u72b6\u6001\u7801\u89c4\u8303\u5316\u8fd4\u56de\u503c\u5c5e\u6027\u53d8\u5927\u5199 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29M8Y"},"#I29M8Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LU4"},"#I29LU4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u63a5\u53e3\u65e0\u8fd4\u56de\u503c\u6ca1\u6709\u5e94\u7528\u89c4\u8303\u5316\u7ed3\u679c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29GT7"},"#I29GT7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u524d\u7aef ",(0,l.kt)("inlineCode",{parentName:"li"},"Less")," \u914d\u7f6e\u6587\u4ef6\u5bfc\u81f4\u4e3b\u673a\u542f\u52a8\u5931\u8d25 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29E7P"},"#I29E7P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u7ed3\u679c\u8f6c\u6cdb\u578b\u540e\u5c5e\u6027\u91cd\u590d\u8d4b\u503c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29BUO"},"#I29BUO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5173\u95ed ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u4e4b\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7ec4\u4e2d\u7ec4")," \u5931\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29789"},"#I29789")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65f6\u5f02\u5e38\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Object")," \u5b57\u7b26 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2969A"},"#I2969A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6b63\u6570\u6570\u636e\u9a8c\u8bc1 0 \u4e5f\u9a8c\u8bc1\u901a\u8fc7 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2955T"},"#I2955T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u975e\u6cdb\u578b\u7c7b\u96c6\u6210\u6cdb\u578b\u63a5\u53e3\u4f9d\u8d56\u6ce8\u5165 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I294YT"},"#I294YT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"new")," \u8986\u76d6\u7236\u7c7b\u7684 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28Z1A"},"#I28Z1A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonSerializerUtility")," \u6ca1\u6709\u516c\u5f00 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28WMI"},"#I28WMI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u67e5\u8be2\u6cdb\u578b\u7c7b\u578b\u6ce8\u518c\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28VMT"},"#I28VMT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u4e0d\u652f\u6301\u751f\u6210\u4e0d\u540c\u547d\u540d\u7a7a\u95f4\u7684\u5b9e\u4f53 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A175"},"#I2A175")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5168\u5c40\u62e6\u622a\u5668\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A7T2"},"#I2A7T2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65b0\u589e\u6216\u66f4\u65b0\u5ffd\u7565\u7a7a\u503c\u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AB6C"},"#I2AB6C")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u751f\u6210\u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29KIH"},"#I29KIH")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65e5\u5fd7\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28Y9D"},"#I28Y9D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u5b9e\u4f53\u62e6\u622a\u5668\u3001\u914d\u7f6e\u3001\u4e00\u5206\u949f\u5165\u95e8\u7b49\u7b49\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5982\u4f55\u5b9e\u73b0\u6388\u6743\u8bbf\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I294F2"},"#I294F2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u5b9e\u73b0\u591a\u4e2a\u6570\u636e\u5e93\u591a\u5bf9\u591a\u5b9e\u4f53\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29G6S"},"#I29G6S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebApi \u652f\u6301\u6587\u4ef6\u4e0a\u4f20\u5417 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29R5E"},"#I29R5E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u4e2a\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u65e0\u6cd5\u751f\u6210\u8fc1\u79fb\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A6II"},"#I2A6II"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v140\u5df2\u53d1\u5e03"},"v1.4.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u652f\u6301\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u90e8\u7f72\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28B77"},"#I28B77")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Template.RazorWithWebApi")," \u811a\u624b\u67b6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QGI"},"#I28QGI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Template.BlazorWithWebApi")," \u811a\u624b\u67b6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27Z3O"},"#I27Z3O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65f6\u6001\u67e5\u8be2\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28AJ6"},"#I28AJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[AppDbContext(\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u6570\u636e\u5e93\u7c7b\u578b)]")," \u914d\u7f6e\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QTB"},"#I28QTB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime")," \u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27MQA"},"#I27MQA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes")," \u9a8c\u8bc1\u6b63\u5219\u8868\u8fbe\u5f0f\u667a\u80fd\u63d0\u793a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2801V"},"#I2801V")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValiationTypes.WordWithNumber")," \u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2805A"},"#I2805")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u83b7\u53d6\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef IP \u5730\u5740 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QV9"},"#I28QV9")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," .NET 5.0 \u7248\u672c\u81f3 .NET 5.0.1 \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QU1"},"#I28QU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u89c6\u56fe\u5f15\u64ce\u529f\u80fd\uff0c\u4f18\u5316\u4e0d\u89c4\u8303\u547d\u540d\u548c\u65b0\u589e\u5b57\u7b26\u4e32\u6a21\u677f\u7f16\u8bd1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28G0S"},"#I28G0S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6570\u636e\u5e93\u5b9e\u4f53\u67e5\u627e\u7b97\u6cd5\uff0c\u5e76\u4f18\u5316\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QUQ"},"#I28QUQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5e94\u7528\u542f\u52a8\u521d\u59cb\u5316\u6027\u80fd\u548c\u6570\u636e\u5e93\u7b2c\u4e00\u6b21\u81ea\u52a8\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"DbSet")," \u6027\u80fd"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u914d\u7f6e\u5b9a\u4f4d\u5668\u540e\u5b9e\u4f53\u65e0\u6cd5\u6b63\u786e\u751f\u6210 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2888L"},"#I2888L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u79df\u6237\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u5b9e\u4f53\u751f\u6210 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2891G"},"#I2891G")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5bf9\u8c61\u9a8c\u8bc1\u5931\u8d25\u63d0\u793a\u6d88\u606f\u6ca1\u6709\u5e94\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5927\u5c0f\u5199\u914d\u7f6e bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27UTX"},"#I27UTX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"Insert")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"Update")," \u65b9\u6cd5\u6307\u5b9a ",(0,l.kt)("inlineCode",{parentName:"li"},"ignoreNullValues")," \u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27UN6"},"#I27UN6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller")," \u6d3e\u751f\u7c7b\u5982\u679c\u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Route]")," \u7279\u6027\u540e\u51fa\u73b0\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e2d bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27TN7"},"#I27TN7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlScalar")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"Nullable")," \u7c7b\u578b\u51fa\u73b0\u8f6c\u6362\u5931\u8d25 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27S2N"},"#I27S2N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u7279\u6027\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27MLM"},"#I27MLM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u9759\u6001\u6267\u884c\u65b9\u5f0f\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u9ad8\u7ea7\u4ee3\u7406\u65e0\u6cd5\u76d1\u542c\u6570\u636e\u5e93\u8fde\u63a5\u72b6\u6001 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27M4F"},"#I27M4F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u66f4\u6362 Json \u5e8f\u5217\u5316\u5e93\u65e0\u6548 bug\uff0c\u5982\u66ff\u6362\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.AspNetCore.Mvc.NewtonsoftJson")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27M43"},"#I27M43")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u5de5\u5177\u751f\u6210\u6a21\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27XI5"},"#I27XI5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8f6f\u5220\u9664\u6ca1\u6709\u751f\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2804I"},"#I2804I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u8bc6\u522b\u5e26\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"\\\\")," \u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u8bc6\u522b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I280TS"},"#I280TS"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/91"},"#PR91")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u65e0\u6cd5\u53d6\u6d88\u751f\u6210 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2816M"},"#I2816M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u8f6c\u672c\u5730\u65f6\u95f4\u5dee 8 \u5c0f\u65f6 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28BA9"},"#I28BA9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"bundle js&css")," \u538b\u7f29\u540e\u542f\u52a8\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28KRP"},"#I28KR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes.Required")," \u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/98"},"#PR98")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c",(0,l.kt)("inlineCode",{parentName:"li"},"OnValidateFailed")," \u53c2\u6570\u540d\u62fc\u5199\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/93"},"#PR93"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/92"},"#PR92")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6388\u6743\u7ba1\u9053\u9a8c\u8bc1\u5931\u8d25\u8fd8\u663e\u793a\u7ed3\u679c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/89"},"#PR89")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," README.md \u53cb\u60c5\u8fde\u63a5\u5730\u5740 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/88"},"#PR88")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6a21\u677f\u811a\u624b\u67b6\u6e90\u7801\uff0c\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore Tools")," \u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/87"},"#PR87")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," README.md Nuget \u56fe\u6807 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/85"},"#PR85")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"List")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTable")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/97"},"#PR97")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c6\u56fe\u5f15\u64ce\u6a21\u677f\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27ZVA"},"#I27ZVA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65f6\u6001\u67e5\u8be2\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28AJ6"},"#I28AJ"),", ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/docs/dbcontext-hight-query/#91111-%E6%97%B6%E6%80%81%E6%9F%A5%E8%AF%A2"},"DOC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4ed3\u50a8\u6587\u6863\u4e66\u5199\u7eb0\u6f0f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/90"},"#PR90")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u9009\u9879\u6587\u6863\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/86"},"#PR86")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5b9e\u4f53\u6570\u636e\u76d1\u542c\u5668")," \u6587\u6863\u4e66\u5199\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/83/files"},"#PR83")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u591a\u6570\u636e\u5e93\u3001\u811a\u624b\u67b6\u7b49\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5e0c\u671b ",(0,l.kt)("inlineCode",{parentName:"li"},"api")," \u8fd4\u56de\u7684\u503c\u81ea\u52a8\u5c06 null \u8f6c\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"''")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"[]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I286IJ"},"#I286IJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6dfb\u52a0\u7f51\u5173\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27TP7"},"#I27TP7"),"\uff0c\u3010\u5df2\u5173\u95ed\u3011"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlQuery")," \u83b7\u53d6\u5355\u6761\u8bb0\u5f55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28M1V"},"#I28M1V")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5e0c\u671b\u53ef\u4ee5\u63d0\u4f9b\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog")," \u4f8b\u5b50 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I282J4"},"#I282J4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u901a\u8fc7\u7279\u6027\u914d\u7f6e\u552f\u4e00\u7ea6\u675f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2891L"},"#I2891L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u600e\u4e48\u8bfb\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"appsettings.json")," \u6570\u7ec4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27WUR"},"#I27WU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I281IE"},"#I281IE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u89c4\u8303\u5316\u63a5\u53e3\u95ee\u9898\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28NMZ"},"#I28NMZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b\u4e2d OnResponseStatusCodes \u672a\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28NNL"},"#I28NNL"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v120\u5df2\u53d1\u5e03"},"v1.2.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u96ea\u82b1\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26OXG"},"#I26OXG"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/78"},"#PR78")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[AppDbContext]")," \u914d\u7f6e\u6570\u636e\u5e93\u63d0\u4f9b\u5668\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27G3T"},"#I27G3T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9e\u4f53\u8868\u6570\u636e\u66f4\u6539\u76d1\u542c\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityDataChangedListener")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278DD"},"#I278DD"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278LQ"},"#I278LQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u670d\u52a1\u63a5\u53e3 AOP \u62e6\u622a\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278CP"},"#I278CP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u4f4d\u5668\u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDbRepository")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I276Q3"},"#I276Q3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u64cd\u4f5c ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdate")," \u652f\u6301\u6392\u9664\u7a7a\u5b57\u7b26\u4e32\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I272OG"},"#I272OG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u64cd\u4f5c ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateInclude")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateExclude")," \u533f\u540d\u5bf9\u8c61\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I271X0"},"#I271X0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u9a8c\u8bc1\u4f20\u5165\u7a7a\u5bf9\u8c61\u8df3\u8fc7\u9a8c\u8bc1\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I273R4"},"#I273R4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e94\u7528\u542f\u52a8\u65f6\u652f\u6301\u6392\u9664\u7279\u5b9a\u914d\u7f6e\u6587\u4ef6\u81ea\u52a8\u52a0\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26U0A"},"#I26U0A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5355\u4e2a\u5b9e\u4f53\u8868\u540d\u524d\u7f00\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26LX0"},"#I26LX0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u6570\u636e\u5e93\u81ea\u52a8\u914d\u7f6e\u9ed8\u8ba4\u7248\u672c\u53f7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26XQ6"},"#I26XQ6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6388\u6743\u5904\u7406\u7a0b\u5e8f\u4ee3\u7801"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9e\u4f53\u8868\u6570\u636e\u66f4\u6539\u76d1\u542c\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityDataChangedListener")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278DD"},"#I278DD"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278LQ"},"#I278LQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u670d\u52a1\u63a5\u53e3 AOP \u62e6\u622a\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278CP"},"#I278CP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u96ea\u82b1\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26OXG"},"#I26OXG"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/78"},"#PR78")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c6\u56fe\u5f15\u64ce\u52a0\u8f7d\u5916\u90e8\u7a0b\u5e8f\u96c6\u51fa\u9519 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165\u4ee3\u7406\u63a5\u53e3\u62a5\u7a7a\u5bf9\u8c61\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u53d6\u6d88\u9644\u52a0\u5b9e\u4f53\u51fa\u9519 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4ed3\u50a8\u5728\u975e Web \u8bf7\u6c42\u4e0b\u51fa\u73b0\u7a7a\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u4e2a\u6388\u6743\u7b56\u7565\u5171\u5b58\u95ee\u9898\u51fa\u73b0\u65e0\u6548 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u53cb\u597d\u5f02\u5e38 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oop.Oh")," \u4e0d\u652f\u6301\u666e\u901a\u65b9\u6cd5 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u83b7\u53d6\u591a\u79df\u6237\u5bf9\u8c61\u65f6\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u51fa\u73b0\u4f5c\u7528\u57df\u9a8c\u8bc1\u5931\u8d25 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5de5\u4f5c\u5355\u5143\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql\u4ee3\u7406")," \u62e6\u622a bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27GST"},"#I27GST")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/docs/dbcontext-entitytrigger"},"\u5b9e\u4f53\u6570\u636e\u76d1\u542c\u5668")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e00\u5206\u949f\u5165\u95e8\u3001\u5e94\u7528\u542f\u52a8\u3001\u5b98\u65b9\u811a\u624b\u67b6\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u6307\u5357\u3001\u5bf9\u8c61\u6620\u5c04\u3001\u89c4\u8303\u5316\u6587\u6863\u3001\u5f02\u5e38\u5904\u7406\u3001\u9274\u6743\u6388\u6743\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v110\u5df2\u53d1\u5e03"},"v1.1.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbContext()")," \u83b7\u53d6\u9ed8\u8ba4\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextUtility.GetCurrentHttpContext()")," \u83b7\u53d6\u5168\u5c40 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u4e0a\u4e0b\u6587"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetRequiredService<>")," \u89e3\u6790\u670d\u52a1\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"object.GetService<>")," \u5bf9\u8c61\u62d3\u5c55\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7b56\u7565\u6388\u6743 ",(0,l.kt)("inlineCode",{parentName:"li"},"PolicyPipeline")," \u57fa\u7c7b\u65b9\u6cd5\uff0c\u652f\u6301\u591a\u91cd\u5224\u65ad\u6388\u6743"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption.ValidateJwtBearerToken")," \u624b\u52a8\u9a8c\u8bc1\u9759\u6001\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u6570\u636e\u5e93\u4e0a\u4e0b\u6587 ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdateIgnoreNullValues")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"EnabledEntityStateTracked")," \u5168\u5c40\u914d\u7f6e"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger Jwt\u6388\u6743")," \u5168\u5c40\u6388\u6743\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26GLR"},"#I26GLR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdate")," \u652f\u6301\u81ea\u5b9a\u4e49\u5224\u65ad\u6761\u4ef6\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I269Q1"},"#I269Q1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b57\u7b26\u4e32\u5b57\u6bb5\u5c0f\u5199\u547d\u540d\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2695D"},"#I2695D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b57\u7b26\u4e32\u6587\u672c\u5bf9\u6bd4\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I268LE"},"#I268LE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u5f02\u5e38\u7279\u6027\u6d88\u606f\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2662O"},"#I2662O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Insert")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"Update")," \u6570\u636e\u5e93\u5ffd\u7565\u7a7a\u503c\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I264Q4"},"#I264Q4")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Fur")," \u9879\u76ee\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetRequestDbContext<>()")," \u547d\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbContext<>()")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbContext<>()")," \u547d\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDuplicateDbContext<>()")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetService<>")," \u89e3\u6790\u670d\u52a1\u7684\u5e95\u5c42\u903b\u8f91\uff0c\u5927\u5927\u63d0\u9ad8\u4e86\u89e3\u6790\u670d\u52a1\u7684\u6027\u80fd"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6388\u6743\u6838\u5fc3\u4ee3\u7801\uff0c\u4fdd\u6301\u548c\u5fae\u8f6f\u4e00\u81f4\u7684\u6388\u6743\u89c4\u8303 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26DCB"},"#I26DCB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetRequestService<>")," \u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidateJwtBearer")," Jwt \u6388\u6743\u65b9\u6cd5\uff0c\u65e0\u9700\u624b\u52a8\u5224\u65ad\u4e86"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Furion \u5b98\u65b9\u811a\u624b\u67b6\u751f\u6210\u540e\u7f16\u8bd1\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Tenant")," \u5185\u7f6e\u5c5e\u6027\u4e0d\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"virtual")," \u4fee\u9970 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"dockerfile")," \u65b0\u547d\u540d\u6784\u5efa\u5931\u8d25 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\u548c\u591a\u4e2a\u6388\u6743\u5171\u5b58\u51fa\u73b0 403 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26H1L"},"#I26H1L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"httpContext.GetEndpoint()")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/73"},"#PR73")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u7a7a\u5f02\u5e38\u548c\u4e0d\u652f\u6301\u670d\u52a1\u629b\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26EFU"},"#I26EFU"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26GM4"},"#I26GM4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps")," \u751f\u6210\u6587\u4ef6\u7f16\u7801\u4e71\u7801 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26DVT"},"#I26DVT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u6587\u4ef6\u4e0a\u4f20\u6309\u94ae\u4e0d\u663e\u793a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26B6U"},"#I26B6U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u6388\u6743\u72b6\u6001\u7801\u5e8f\u5217\u5316\u5927\u5c0f\u5199\u4e0d\u4e00\u81f4\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26B26"},"#I26B26")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65f6\u4e2d\u6587\u4e71\u7801 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I268T5"},"#I268T5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u5f02\u6b65\u5f02\u5e38\u6355\u83b7\u4e0d\u5230 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I265SO"},"#I265SO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps1")," \u63d0\u793a\u627e\u4e0d\u5230\u6570\u636e\u5e93\u8fde\u63a5\u5b57\u7b26\u4e32 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2647U"},"#I2647U")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u4ee3\u7801\u6027\u80fd\u5c0f\u4f18\u5316\u548c\u5c0f\u8c03\u6574"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e00\u5206\u949f\u5165\u95e8\u3001\u5b89\u5168\u9274\u6743\u3001\u6570\u636e\u5e93\u7b49\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v103\u5df2\u53d1\u5e03"},"v1.0.3\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Mvc \u6a21\u677f\u811a\u624b\u67b6\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Mvc")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," WebApi \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Api")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Mvc/WebApi \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.App")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Razar Pages \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Razor")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Blazor \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Blazor")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"PagedList")," \u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Collections.Generic")," \u547d\u540d\u7a7a\u95f4\u4e0b"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89e3\u6790\u670d\u52a1\u6027\u80fd\u95ee\u9898\uff0c\u5e95\u5c42\u4ee3\u7801\u5927\u91cf\u4f18\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ApiSears.ControllerEnd"),"\u4e0d\u8d77\u4f5c\u7528 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I25KH6"},"#I25KH6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"RemoteRequest")," \u8bf7\u6c42\u5b8c\u6210\u7ed3\u679c\u5e8f\u5217\u5316\u5c5e\u6027\u5927\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I25I8R"},"#I25I8R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext.GetEndpoinet()")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/73"},"#PR73")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5165\u95e8\u6587\u6863\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6587\u6863\u3001\u591a\u6570\u636e\u5e93\u64cd\u4f5c\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v102\u5df2\u53d1\u5e03"},"v1.0.2\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Pomelo.EntityFrameworkCore.MySql")," \u6700\u65b0 .NET 5 \u5305\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24ZQK"},"#I24ZQK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddDateTimeJsonConverter(format)")," \u65f6\u95f4\u683c\u5f0f\u5e8f\u5217\u5316\u914d\u7f6e"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u7c7b\u578b\u5e8f\u5217\u5316\u683c\u5f0f\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I253FI"},"#I253FI")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mapster")," \u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"7.0.0")," \u7248"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.Services")," \u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"App.ServiceProvider")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.ApplicationServices")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetRequestService<>()")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u975e Web \u4e3b\u673a\u6ce8\u5165\u62d3\u5c55"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddFriendlyException()")," \u7f3a\u5c11\u914d\u7f6e\u6ce8\u5165 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6c60\u88ab\u91ca\u653e\u548c\u9ad8\u5e76\u53d1\u4e0b\u5185\u5b58\u6ea2\u51fa bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2524K"},"#I2524K"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24UMN"},"#I24UMN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql\u4ee3\u7406")," \u8fd4\u56de\u7a7a\u6570\u636e\u65f6\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24TCK"},"#I24TCK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5de5\u4f5c\u5355\u5143 ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u591a\u6570\u636e\u5e93\u88ab\u91ca\u653e bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24Q6W"},"#I24Q6W")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EntityBase")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Entity")," \u6240\u6709\u5c5e\u6027\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"vitural")," \u4fee\u9970"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Jwt")," \u8bfb\u53d6\u548c\u89e3\u6790\u6027\u80fd"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4f18\u5316\u4ee3\u7801\u652f\u6301 C# 9.0 \u6700\u65b0\u8bed\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u52a0\u5bc6\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/71"},"#PR71")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u65e0\u7528\u6216\u672a\u4f7f\u7528\u4ee3\u7801"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u591a\u6570\u636e\u5e93\u3001\u4e00\u5206\u949f\u5165\u95e8\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v100\u5df2\u53d1\u5e03"},"v1.0.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"RemoteRequest")," \u7ec4\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I1YYWD"},"#I1YYWD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddInjectBase()")," \u6ce8\u5165\uff0c\u53ea\u5305\u542b\u57fa\u7840\u670d\u52a1\u6ce8\u5165"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6240\u6709\u670d\u52a1\u90fd\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceCollection")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"IMvcBuilder")," \u6ce8\u5165"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u629b\u5f02\u5e38\u72b6\u6001\u7801\u8bbe\u7f6e\u529f\u80fd ",(0,l.kt)("inlineCode",{parentName:"li"},"StatusCode")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5e8f\u5217\u5316\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Pascal")," \u5c5e\u6027\u547d\u540d\u65b9\u5f0f"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u6240\u6709\u7684\u5305\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET 5")," \u6b63\u5f0f\u7248")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlProxy")," \u4ee3\u7406\u5f02\u6b65\u5904\u7406 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u7c7b\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"Datetime")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5c5e\u6027\u9996\u5b57\u6bcd\u5927\u5c0f\u5199\u5e8f\u5217\u5316\u4e0d\u5339\u914d\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5bf9\u8c61\u5e8f\u5217\u5316\u4e2d\u6587\u51fa\u73b0\u4e71\u7801 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9ed8\u8ba4\u5e8f\u5217\u5316\u914d\u7f6e\u65e0\u6548 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u975e\u4f9d\u8d56\u6ce8\u5165\u65b9\u5f0f\u63d0\u4ea4\u65e0\u6548 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5e94\u7528\u7a0b\u5e8f\u6c60\u63d0\u4ea4\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbContext")," \u7a7a\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Saas")," \u591a\u79df\u6237 ",(0,l.kt)("inlineCode",{parentName:"li"},"Tenant")," \u7c7b\u578b\u5b57\u7b26\u4e32\u5c5e\u6027\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u6570\u636e\u5e93\u4e0b\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"longtext")," \u7c7b\u578b bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u81ea\u52a8\u9a8c\u8bc1\u5b57\u7b26\u4e32\u7a7a\u503c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24M2T"},"#I24M2T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u679a\u4e3e\u6ce8\u91ca\u88ab\u8986\u76d6 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24N6J"},"#I24N6J")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5ffd\u7565\u89c4\u8303\u5316\u7ed3\u679c\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24B8P"},"#I24B8P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"ContentType")," \u4e0d\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"applicaiton/json")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24F3U"},"#I24F3U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5185\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Text.Json")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Newtonsoft.Json")," \u51b2\u7a81 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24F3U"},"#I24F3U")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Fur")," \u6846\u67b6\u57df\u540d\u4e3a\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://furion.icu"},"https://furion.icu")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"FromSqlRaw")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"FromSqlInterpolated")," \u63a5\u53e3\u4f4d\u7f6e"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u52a0\u89e3\u5bc6\u6027\u80fd\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/70"},"#PR70")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," README.md\u3001\u6846\u67b6\u4ecb\u7ecd\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u914d\u7f6e\u9009\u9879\u3001\u591a\u79df\u6237\u3001\u8de8\u57df\u6587\u6863")))))}ce.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/handbook/build/assets/js/4c79e569.c18d90f3.js b/handbook/build/assets/js/4c79e569.c18d90f3.js new file mode 100644 index 0000000000..a805930eb7 --- /dev/null +++ b/handbook/build/assets/js/4c79e569.c18d90f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[8707],{3905:function(e,t,a){a.d(t,{Zo:function(){return k},kt:function(){return N}});var n=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var m=n.createContext({}),o=function(e){var t=n.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},k=function(e){var t=o(e.components);return n.createElement(m.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,m=e.parentName,k=p(e,["components","mdxType","originalType","parentName"]),u=o(a),N=i,d=u["".concat(m,".").concat(N)]||u[N]||s[N]||r;return a?n.createElement(d,l(l({ref:t},k),{},{components:a})):n.createElement(d,l({ref:t},k))}));function N(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,l=new Array(r);l[0]=u;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p.mdxType="string"==typeof e?e:i,l[1]=p;for(var o=2;o ctx.Set("Name", "Furion").Set("UserId", 10))\n .LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n')),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},'using (var scope = _logger.ScopeContext(ctx => ctx.Set("Name", "Furion").Set("UserId", 10)))\n{\n _logger.LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n}\n\n// \u4e5f\u53ef\u4ee5\u7b80\u5199\nusing var scope = _logger.ScopeContext(ctx => ctx.Set("Name", "Furion").Set("UserId", 10));\n_logger.LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("strong",{parentName:"del"},"\u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"strong"},".SetTimeout")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"[Timeout]")," \u914d\u7f6e\u65b9\u6cd5\uff0c\u91c7\u7528\u5168\u5c40\u7edf\u4e00\u914d\u7f6e"))," ",(0,l.kt)("sup",null,"4.6.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c"},"7384c9c"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"HttpClient")," \u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"100\u79d2"),"\uff0c\u53ef\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8bbe\u7f6e\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,10}",showLineNumbers:!0,"{4,10}":!0},'// \u914d\u7f6e\u9ed8\u8ba4 HttpClient\noptions.AddHttpClient(string.Empty, c =>\n{\n c.Timeout = TimeSpan.FromMinutes(2);\n});\n\n// \u914d\u7f6e\u7279\u5b9a\u5ba2\u6237\u7aef\noptions.AddHttpClient("github", c =>\n{\n c.Timeout = TimeSpan.FromMinutes(2);\n});\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"4.5.9+")," \u7248\u672c\u65b0\u589e\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"IncludeScopes")," \u914d\u7f6e\u5bfc\u81f4\u65e5\u5fd7\u4e0a\u4e0b\u6587\u5931\u6548 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a768415bb2effe47f1a6e12de0773d3bbd6f75c"},"4a76841")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u5171\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbParameters")," \u51fa\u73b0\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UO2H"},"#I5UO2H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9ad8\u9891\u7387\u5199\u5165\u65e5\u5fd7\u5bfc\u81f4\u5806\u5185\u5b58\u6ea2\u51fa\u7684\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UJRS"},"#I5UJRS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u5185\u90e8\u6240\u6709\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},".CreateLogger")," \u521b\u5efa\u7684\u65e5\u5fd7\u5bf9\u8c61\u65e0\u6cd5\u5e94\u7528\u4e0a\u4e0b\u6587\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ec4838c218ed9c96ba92d7a80fd11539da59ca22"},"ec4838c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8fdc\u7a0b\u8bf7\u6c42\u4e0d\u80fd\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Serivce")," \u4e2d\u8fdb\u884c\u6784\u9020\u51fd\u6570\u6ce8\u5165\uff0c\u539f\u56e0\u662f\u6ce8\u518c\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Scope")," \u8303\u56f4\u4f5c\u7528\u57df ",(0,l.kt)("sup",null,"4.6.3")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/974f835ccdcf84bc84dd6f7044589ae2a2e7a57b"},"974f835")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e2a\u522b\u670d\u52a1\u5668\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"SQL Server")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"TLS 1.2")," \u534f\u8bae\u95ee\u9898")," ",(0,l.kt)("sup",null,"4.6.3")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/974f835ccdcf84bc84dd6f7044589ae2a2e7a57b"},"974f835")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".ToDictionary()")," \u62d3\u5c55\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"JObject")," \u7c7b\u578b\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5VJHC"},"#I5VJHC")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/MonkSoul/Furion/commit/a11bf8d8b6bb90b41b8394d8bca35aa3539239e6"},"a11bf8d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"long")," \u7c7b\u578b\u4e22\u7cbe\u5ea6\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5VJHC"},"#I5VJHC")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/aded58d0bc587d1a1844382c66ec1ab3de96be7c"},"aded58d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"WebAPI")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"class")," \u7c7b\u578b\u4e0a\u8d34 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiDescriptionSettings(true)]")," \u5bfc\u81f4\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5WQ18"},"#I5WQ18")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u8fd4\u56de\u503c\u7c7b\u578b\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6cdb\u578b")," \u65f6\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"FullName")," \u5e26\u7a0b\u5e8f\u96c6\u7b7e\u540d\u95ee\u9898 ",(0,l.kt)("sup",null,"4.6.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/f0aaec6a5ae358bab7f4b6ed58848de8a7f32f5e"},"f0aaec6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4f18\u5316\u8fdc\u7a0b\u8bf7\u6c42\u6027\u80fd\uff0c\u6dfb\u52a0\u590d\u7528\u6c60\u7684\u673a\u5236\uff0c\u907f\u514d\u9891\u7e41\u9500\u6bc1\u521b\u5efa ",(0,l.kt)("sup",null,"4.6.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7384c9c3efb94883421379828565e61870f1640c"},"7384c9c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u8bbe\u7f6e\u5ba2\u6237\u7aef\u751f\u547d\u5468\u671f\u914d\u7f6e\u6587\u6863\u548c\u65b0\u8d85\u65f6\u914d\u7f6e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"long")," \u7c7b\u578b\u8bf4\u660e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u53cd\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u7c7b\u578b\u4e2a\u522b\u683c\u5f0f\u51fa\u9519\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u7ed3\u679c\u652f\u6301\u7279\u5b9a\u63a5\u53e3\u914d\u7f6e\u72ec\u7acb\u5e8f\u5217\u5316\u914d\u7f6e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001\u6570\u636e\u5e93\u5165\u95e8\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v459\u5df2\u53d1\u5e03"},"v4.5.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u7248\u672c\u7ec6\u8282",type:"important"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.9")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5ULWN"},"https://gitee.com/dotnetchina/Furion/issues/I5ULWN")," ",(0,l.kt)("sup",null,"2022.10.09")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.8")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UGNS"},"https://gitee.com/dotnetchina/Furion/issues/I5UGNS")," ",(0,l.kt)("sup",null,"2022.10.08")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.7")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U8Q9"},"https://gitee.com/dotnetchina/Furion/issues/I5U8Q9")," ",(0,l.kt)("sup",null,"2022.10.06")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.6")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U4SG"},"https://gitee.com/dotnetchina/Furion/issues/I5U4SG")," ",(0,l.kt)("sup",null,"2022.10.03")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.5")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U413"},"https://gitee.com/dotnetchina/Furion/issues/I5U413")," ",(0,l.kt)("sup",null,"2022.10.02")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.4")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U3MK"},"https://gitee.com/dotnetchina/Furion/issues/I5U3MK")," ",(0,l.kt)("sup",null,"2022.10.01")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.2")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TXON"},"https://gitee.com/dotnetchina/Furion/issues/I5TXON")," ",(0,l.kt)("sup",null,"2022.09.30")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.1")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TLI6"},"https://gitee.com/dotnetchina/Furion/issues/I5TLI6")," ",(0,l.kt)("sup",null,"2022.09.28")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.5.0")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TD4X"},"https://gitee.com/dotnetchina/Furion/issues/I5TD4X")," ",(0,l.kt)("sup",null,"2022.09.27")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddConsoleFormatter()")," \u62d3\u5c55\u7b80\u5316\u63a7\u5236\u53f0\u65e5\u5fd7\u6a21\u677f\u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TCMO"},"#I5TCMO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u548c\u6587\u4ef6\u65e5\u5fd7\u65f6\u95f4\u9ed8\u8ba4\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"\u661f\u671f\u51e0")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u548c\u6587\u4ef6\u65e5\u5fd7\u652f\u6301\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"options.DateFormat")," \u65e5\u671f\u683c\u5f0f\u5316 ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u65e5\u5fd7\u5e26\u989c\u8272\u8f93\u51fa\uff0c\u6bd4\u5982\u9ad8\u4eae ",(0,l.kt)("inlineCode",{parentName:"li"},"\u65e5\u5fd7\u7ea7\u522b")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u683c\u5f0f\u5316\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"options.WriteHandler")," \u5b8c\u5168\u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7fb30368f9640360017fc7f357df13eeb5031c2b"},"7fb3036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u8f93\u51fa ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u683c\u5f0f\u5316\u914d\u7f6e")," ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5OUT1"},"#I5OUT1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u65e5\u5fd7\u5199\u5165\u72ec\u7acb\u65e5\u5fd7\u6a21\u677f\u914d\u7f6e\u3001\u72ec\u7acb\u65e5\u671f\u683c\u5f0f\u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LogMessage")," \u7ed3\u6784\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"LogDateTime"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"ThreadId"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"State")," \u5c5e\u6027 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u53ef\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonWriterOptions")," \u5c5e\u6027 ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U375"},"#I5U375")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Log.ScopeContext")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},'"some log".ScopeContext')," \u62d3\u5c55 ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/812969357a60d0b73becf105e6b77b46113b3800"},"8129693")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext.SetTokensOfResponseHeaders")," \u62d3\u5c55 ",(0,l.kt)("sup",null,"4.5.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3775e659ca13615bc7f65b050fb8540daeed9433"},"3775e65")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Stream")," \u6587\u4ef6\u683c\u5f0f\u4e0a\u4f20 ",(0,l.kt)("sup",null,"4.5.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UF3I"},"#I5UF3I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65e5\u5fd7\u6a21\u5757\u53ef\u914d\u7f6e\u662f\u5426\u542f\u7528\u4e0a\u4e0b\u6587\u529f\u80fd ",(0,l.kt)("inlineCode",{parentName:"li"},"IncludeScopes")," \u5c5e\u6027 ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UJRS"},"#I5UJRS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u65e5\u5fd7\u7b5b\u9009 ",(0,l.kt)("inlineCode",{parentName:"li"},"WriteFilter")," \u914d\u7f6e ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f06f12b2c115bd181f4832daa7537efe5cb3fe8"},"6f06f12")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\ud83d\ude0a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6846\u67b6\u6587\u6863\u5730\u5740\u4e3a ",(0,l.kt)("a",{parentName:"strong",href:"https://furion.baiqian.ltd"},"https://furion.baiqian.ltd"))," ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2e3d80ec0be830c33923ef9953ff504528120f06"},"2e3d80e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u5e95\u5c42\u903b\u8f91\uff0c\u79fb\u9664\u539f\u6765\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},".ScopeContext")," \u5b58\u50a8\u76d1\u542c\u4fe1\u606f\u8bbe\u8ba1 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWC1"},"#I5TWC1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("strong",{parentName:"del"},"\u4e3b\u673a\u672a\u542f\u52a8\u65f6\u6784\u5efa\u670d\u52a1\u7684\u64cd\u4f5c\u6743\u9650\uff0c\u6b64\u64cd\u4f5c\u4f1a\u5bfc\u81f4\u5185\u5b58\u6fc0\u589e\uff0c\u53d7\u5f71\u54cd\u65b9\u6cd5\uff1a ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions")," \u7cfb\u5217\u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetService")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"Scoped.Create")))," ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U0A4"},"#I5U0A4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/812969357a60d0b73becf105e6b77b46113b3800"},"8129693"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u8fd1\u671f\u53d1\u73b0\u8bb8\u591a\u5f00\u53d1\u8005\u5728\u4e3b\u673a\u8fd8\u672a\u542f\u52a8\u65f6\u89e3\u6790\u670d\u52a1\uff0c\u8fd9\u662f\u975e\u5e38\u4e0d\u6b63\u786e\u7684\u884c\u4e3a\uff0c\u4f1a\u5bfc\u81f4\u542f\u52a8\u65f6\u5185\u5b58\u6fc0\u589e\u751a\u81f3\u6ea2\u51fa\uff0c\u5e38\u89c1\u7684\u9519\u8bef\u6709\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5728\u542f\u52a8\u7684\u65f6\u5019\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u521b\u5efa\u4f5c\u7528\u57df"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u5728\u542f\u52a8\u7684\u65f6\u5019\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions")," \u83b7\u53d6\u9009\u9879\u5bf9\u8c61")),(0,l.kt)("li",{parentName:"ul"},"\u5728\u542f\u52a8\u7684\u65f6\u5019\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetService")," \u89e3\u6790\u670d\u52a1")),(0,l.kt)("p",null,"\u6b63\u786e\u7684\u505a\u6cd5\u662f\uff0c\u542f\u52a8\u7684\u65f6\u5019\u7981\u6b62\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"Scoped.Create")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"App.GetService"),"\u3002"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u5982\u9700\u542f\u52a8\u65f6\u83b7\u53d6\u914d\u7f6e\u5e94\u8be5\u901a\u8fc7\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},'App.GetConfig("\u914d\u7f6e\u8282\u70b9", true)')," \u66ff\u4ee3 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions()")),"\u3002"))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b57\u7b26\u4e32\u65e5\u5fd7\u62d3\u5c55\u5e26\u6cdb\u578b\u65b9\u6cd5\u4e0d\u80fd\u6b63\u786e\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"CategoryName")," \u65e5\u5fd7\u7c7b\u522b ",(0,l.kt)("sup",null,"4.5.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TBKL"},"#I5TBKL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u63a7\u5236\u53f0\u65e5\u5fd7\u8bbe\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},".ScopeContext")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7fb30368f9640360017fc7f357df13eeb5031c2b"},"7fb3036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u540c\u65f6\u914d\u7f6e\u4e86\u5c40\u90e8\u548c\u5168\u5c40\u65e5\u5fd7\u76d1\u542c\u89e6\u53d1\u4e24\u6b21\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a1a97e817c43db4c20ba6e3aae03cea96d545a4b"},"a1a97e8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.8+")," \u7248\u672c\u66f4\u65b0\u5bfc\u81f4\u8fdc\u7a0b\u8bf7\u6c42\u5728\u4e2a\u522b\u60c5\u51b5\u4e0b\u51fa\u73b0\u5e76\u53d1\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TWL3"},"#I5TWL3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u914d\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"ReturnValueThreshold")," \u4e4b\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"Json")," \u88ab\u622a\u65ad\u5f15\u53d1\u6709\u6548\u6027\u68c0\u6d4b\u5f02\u5e38 ",(0,l.kt)("sup",null,"4.5.4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U375"},"#I5U375")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"DataTable"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"DataSet"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Tuple")," \u7b49\u7c7b\u578b\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U3VO"},"#I5U3VO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u81ea ",(0,l.kt)("inlineCode",{parentName:"strong"},"v4.5.2+")," \u7248\u672c\u5347\u7ea7\u540e\u51fa\u73b0\u542f\u52a8\u65f6\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptons")," \u5f02\u5e38\u95ee\u9898")," ",(0,l.kt)("sup",null,"4.5.6")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5U4OC"},"#I5U4OC")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/f9a6587e3f7893db88c905cf77c3c4ebed39b73c"},"f9a6587")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseInject(action)")," \u5bfc\u81f4\u6b7b\u5faa\u73af ",(0,l.kt)("sup",null,"4.5.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/608"},"!608")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u62a5\u7a7a\u5f15\u7528\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UGCA"},"#I5UGCA")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/610"},"!610")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5e76\u53d1\u60c5\u51b5\u4e0b\u8bbe\u7f6e\u65e5\u5fd7\u4e0a\u4e0b\u6587\u51fa\u73b0\u5076\u7136\u6027\u7a7a\u5f15\u7528\u95ee\u9898 ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5UJRS"},"#I5UJRS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6587\u4ef6\u65e5\u5fd7\u9ed8\u8ba4\u6a21\u677f\uff0c\u9ed8\u8ba4\u5bf9\u65e5\u5fd7\u65f6\u95f4\u8fdb\u884c\u683c\u5f0f\u5316\u5e76\u663e\u793a\u661f\u671f\u51e0 ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TKL5"},"#I5TKL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u811a\u624b\u67b6\u4ee3\u7801\uff0c\u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddConsoleFormatter()")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TLI6"},"#I5TLI6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u4ee3\u7801\uff0c\u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddConsoleFormatter()")," ",(0,l.kt)("sup",null,"4.5.1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5TLI6"},"#I5TLI6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u51cf\u5c11 ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfile")," \u4e0d\u5fc5\u8981\u7684\u76d1\u542c\uff0c\u53ea\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u9875\u9762\u8bf7\u6c42\u624d\u76d1\u542c ",(0,l.kt)("sup",null,"4.5.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/697ef51f4869a4d533a6debd2a17cb9f0c1000c3"},"697ef51")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u65e5\u5fd7\u6a21\u5757\u6240\u6709\u65e5\u5fd7\u65f6\u95f4\u9ed8\u8ba4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"24\u5c0f\u65f6\u5236"),"\uff0c\u8fc7\u53bb\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"12\u5c0f\u65f6\u5236")," ",(0,l.kt)("sup",null,"4.5.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/612"},"!612")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9009\u9879\u76d1\u542c\u51fa\u73b0\u89e6\u53d1\u591a\u6b21\u7684\u89e3\u51b3\u65b9\u6848 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5T9PR"},"#I5T9PR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u52a8\u6001 WebAPI \u6587\u6863\u3001\u9009\u9879\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li"},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301\u65e5\u5fd7\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u683c\u5f0f\u5316\u8f93\u51fa"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,4,8,10,14,16}",showLineNumbers:!0,"{2,4,8,10,14,16}":!0},'// \u63a7\u5236\u53f0\nservices.AddConsoleFormatter(options =>\n{\n options.MessageFormat = LoggerFormatter.Json;\n});\n\n// \u6587\u4ef6\nservices.AddFileLogging("mytemplate.log", options =>\n{\n options.MessageFormat = LoggerFormatter.Json;\n});\n\n// \u6570\u636e\u5e93\nservices.AddDatabaseLogging(options =>\n{\n options.MessageFormat = LoggerFormatter.Json;\n});\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li",start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"LoggingMonitor")," \u8f93\u51fa ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u683c\u5f0f"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5168\u5c40/\u5c40\u90e8\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Json")," \u8f93\u51fa\u914d\u7f6e")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,8}",showLineNumbers:!0,"{4,8}":!0},"// \u5168\u5c40\nservices.AddMonitorLogging(options =>\n{\n options.JsonBehavior = Furion.Logging.JsonBehavior.OnlyJson;\n});\n\n// \u5c40\u90e8\n[LoggingMonitor(JsonBehavior = Furion.Logging.JsonBehavior.OnlyJson)]\n")),(0,l.kt)("admonition",{type:"note"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"\u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"JsonBehavior")),(0,l.kt)("p",{parentName:"admonition"},"\u53ea\u6709\u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"JsonBehavior.OnlyJson")," \u65f6\u624d\u4e0d\u4f1a\u8f93\u51fa",(0,l.kt)("strong",{parentName:"p"},"\u7f8e\u89c2\u7684"),"\u65e5\u5fd7\u3002")),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u5199\u5165\u5b58\u50a8\u4ecb\u8d28")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {14-18}",showLineNumbers:!0,"{14-18}":!0},'using Furion.Logging;\n\nnamespace Your.Core;\n\npublic class DatabaseLoggingWriter : IDatabaseLoggingWriter\n{\n // \u652f\u6301\u6784\u9020\u51fd\u6570\u6ce8\u5165\u4efb\u4f55\u5b9e\u4f8b\uff0c\u4f1a\u81ea\u52a8\u91ca\u653e\u4efb\u4f55\u670d\u52a1\uff0c\u6bd4\u5982\u6ce8\u5165 IRepository\uff0c\u6216\u8005 SqlSugarClient\n public DatabaseLoggingWriter()\n {\n }\n\n public void Write(LogMessage logMsg, bool flush)\n {\n // \u5982\u679c JsonBehavior \u914d\u7f6e\u4e3a OnlyJson \u6216\u8005 All\uff0c\u90a3\u4e48 Context \u5c31\u5305\u542b loggingMonitor \u7684\u503c\n // \u5982\u679c JsonBehavior \u914d\u7f6e\u4e3a OnlyJson\uff0c\u90a3\u4e48\u53ef\u76f4\u63a5\u901a\u8fc7 logMsg.Message \u83b7\u53d6\u7ed3\u679c\u5c31\u662f json \u683c\u5f0f\n if (logMsg.LogName == "System.Logging.LoggingMonitor")\n {\n var jsonString = logMsg.Context.Get("loggingMonitor");\n }\n\n // \u8fd9\u91cc\u5199\u4f60\u4efb\u4f55\u63d2\u5165\u6570\u636e\u5e93\u7684\u64cd\u4f5c\uff0c\u65e0\u9700 try catch\n }\n}\n')),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Json")," \u8f93\u51fa\u683c\u5f0f\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "controllerName": "test-logger",\n "controllerTypeName": "TestLoggerServices",\n "actionName": "person",\n "actionTypeName": "GetPerson",\n "areaName": null,\n "displayName": "Furion.Application.TestLoggerServices.GetPerson (Furion.Application)",\n "localIPv4": "0.0.0.1",\n "remoteIPv4": "0.0.0.1",\n "httpMethod": "GET",\n "requestUrl": "https://localhost:5001/api/test-logger/person/2",\n "refererUrl": "https://localhost:5001/api/index.html?urls.primaryName=\u6570\u636e\u5e93\u64cd\u4f5c\u6f14\u793a",\n "environment": "Development",\n "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53",\n "requestHeaderAuthorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsIkFjY291bnQiOiJhZG1pbiIsImlhdCI6MTY2NDQ1MDUwNSwibmJmIjoxNjY0NDUwNTA1LCJleHAiOjE2NjQ0NTE3MDUsImlzcyI6ImRvdG5ldGNoaW5hIiwiYXVkIjoicG93ZXJieSBGdXJpb24ifQ.-xocNcDQGoXClceoVU5QAHIkTcOZ7ZXo0hEbzghDfFI",\n "timeOperationElapsedMilliseconds": 55,\n "authorizationClaims": [\n {\n "type": "UserId",\n "valueType": "integer",\n "value": "1"\n },\n {\n "type": "Account",\n "valueType": "string",\n "value": "admin"\n },\n {\n "type": "iat",\n "valueType": "integer",\n "value": "1664450505"\n },\n {\n "type": "nbf",\n "valueType": "integer",\n "value": "1664450505"\n },\n {\n "type": "exp",\n "valueType": "integer",\n "value": "1664451705"\n },\n {\n "type": "iss",\n "valueType": "string",\n "value": "dotnetchina"\n },\n {\n "type": "aud",\n "valueType": "string",\n "value": "powerby Furion"\n }\n ],\n "parameters": [\n {\n "name": "id",\n "type": "System.Int32",\n "value": 2\n }\n ],\n "returnInformation": {\n "type": "Furion.UnifyResult.RESTfulResult`1[[System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]",\n "actType": "Furion.Application.Persons.PersonDto",\n "value": {\n "StatusCode": 200,\n "Data": {\n "Id": 2,\n "Name": null,\n "Age": 0,\n "Address": null,\n "PhoneNumber": null,\n "QQ": null,\n "CreatedTime": "0001-01-01T00:00:00+00:00",\n "Childrens": null,\n "Posts": null\n },\n "Succeeded": true,\n "Errors": null,\n "Extras": null,\n "Timestamp": 1664450517341\n }\n },\n "exception": {\n "type": "System.DivideByZeroException",\n "message": "Attempted to divide by zero.",\n "stackTrace": " at Furion.Application.TestLoggerServices.\u6d4b\u8bd5\u65e5\u5fd7\u76d1\u542c8(Int32 id) in D:\\\\Workplaces\\\\OpenSources\\\\Furion\\\\samples\\\\Furion.Application\\\\TestLoggerServices.cs:line 78\\r\\n at lambda_method103(Closure , Object , Object[] )\\r\\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\\r\\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1(ControllerActionInvoker invoker)\\r\\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"\n },\n "validation": {\n "errorCode": null,\n "originErrorCode": null,\n "message": "\u51fa\u9519\u4e86\u554a\u3002\u3002\u3002\u3002"\n }\n}\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li",start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301\u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Stream")," \u6d41"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5355\u6587\u4ef6\u4e0a\u4f20")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b57\u7b26\u4e32\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,5,9}",showLineNumbers:!0,"{1,5,9}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await "https://localhost:44316/api/test-module/upload-file"\n .SetContentType("multipart/form-data")\n .SetFiles(HttpFile.Create("file", fileStream, "image.png")).PostAsync();\n\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7406\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,6}",showLineNumbers:!0,"{1,3,6}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await _http.TestSingleFileProxyAsync(HttpFile.Create("file", fileStream, "image.png"));\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u591a\u6587\u4ef6\u4e0a\u4f20")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b57\u7b26\u4e32\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,5,8}",showLineNumbers:!0,"{1,5,8}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await "https://localhost:44316/api/test-module/upload-muliti-file"\n .SetContentType("multipart/form-data")\n .SetFiles(HttpFile.CreateMultiple("files", (fileStream, "image1.png"), (fileStream, "image2.png"))).PostAsync();\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7406\u65b9\u5f0f")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,6}",showLineNumbers:!0,"{1,3,6}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\n\nvar result = await _http.TestMultiFileProxyAsync(HttpFile.CreateMultiple("files", (fileStream, "image1.png"), (fileStream, "image2.png")));\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},"\u8fd8\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Bytes")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Stream")," \u6df7\u5408")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2,4-10,14,18}",showLineNumbers:!0,"{1-2,4-10,14,18}":!0},'var fileStream = new FileStream("image.png", FileMode.Open);\nvar bytes = File.ReadAllBytes("image.png");\n\nvar httpFile = new HttpFile\n{\n Name = name,\n Bytes = bytes,\n FileStream = fileStream,\n FileName = fileName\n};\n\nvar result = await "https://localhost:44316/api/test-module/upload-file"\n .SetContentType("multipart/form-data")\n .SetFiles(httpFile).PostAsync();\n\nvar fileName = await result.Content.ReadAsStringAsync();\n\nawait fileStream.DisposeAsync();\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ol",{parentName:"li",start:4},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"LoggingMonitor")," \u5168\u5c40\u8fc7\u6ee4"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers showLineNumbers {1,3,10}",showLineNumbers:!0,"{1,3,10}":!0},"services.AddMonitorLogging(options =>\n{\n options.WriteFilter = (context) =>\n {\n // \u83b7\u53d6\u63a7\u5236\u5668/\u64cd\u4f5c\u63cf\u8ff0\u5668\n var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;\n\n // \u4f60\u7684\u903b\u8f91....\uff0c\u4e0d\u9700\u8981\u62e6\u622a\u8fd4\u56de false\uff0c\u5426\u5219 true\n\n return true;\n };\n});\n")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v449\u5df2\u53d1\u5e03"},"v4.4.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u7248\u672c\u7ec6\u8282",type:"important"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.9")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SP37"},"https://gitee.com/dotnetchina/Furion/issues/I5SP37")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.8")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SKUE"},"https://gitee.com/dotnetchina/Furion/issues/I5SKUE")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.7")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SEFE"},"https://gitee.com/dotnetchina/Furion/issues/I5SEFE")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.6")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RSFD"},"https://gitee.com/dotnetchina/Furion/issues/I5RSFD")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.5")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RHQX"},"https://gitee.com/dotnetchina/Furion/issues/I5RHQX")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.4")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5R5TI"},"https://gitee.com/dotnetchina/Furion/issues/I5R5TI")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.3")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QVH3"},"https://gitee.com/dotnetchina/Furion/issues/I5QVH3")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.2")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QDHX"},"https://gitee.com/dotnetchina/Furion/issues/I5QDHX")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.1")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5Q3SX"},"https://gitee.com/dotnetchina/Furion/issues/I5Q3SX")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.4.0")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PQHR"},"https://gitee.com/dotnetchina/Furion/issues/I5PQHR")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u53cb\u597d\u5f02\u5e38\u53ef\u63a7\u5236\u662f\u5426\u8f93\u51fa\u9519\u8bef\u65e5\u5fd7\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"LogError: true")," ",(0,l.kt)("sup",null,"4.4.0")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PKJH"},"#I5PKJH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateOnlyJsonConverter")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateOnlyOffsetJsonConverter")," \u5e8f\u5217\u5316\u8f6c\u6362\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/565"},"!565")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"li"},"LogEnabled")," \u914d\u7f6e\uff0c\u53ef\u63a7\u5236\u662f\u5426\u8f93\u51fa\u670d\u52a1\u65e5\u5fd7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QLY5"},"#I5QLY5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u53ef\u5b9e\u73b0\u4efb\u4f55\u591a\u5957\u89c4\u8303\u5316\u7ed3\u679c\u529f\u80fd\uff0c\u652f\u6301\u7279\u5b9a\u63a7\u5236\u5668\uff0c\u7279\u5b9a\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QZ37"},"#I5QZ37")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ILoggerFactory")," \u65e5\u5fd7\u5de5\u5382\u52a8\u6001\u6279\u91cf\u6dfb\u52a0\u6587\u4ef6\u65e5\u5fd7\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5R9PO"},"#I5R9PO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetCommandLineConfiguration(args)")," \u89e3\u6790\u547d\u4ee4\u884c\u53c2\u6570\u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/803542c3e21496e92d2bf83aaa2d00831fcb09bc"},"803542c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de\u53d7\u5f71\u54cd\u884c\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5REJ9"},"#I5REJ9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4efb\u610f\u81ea\u5b9a\u4e49\u65e5\u5fd7\u6587\u4ef6\u540d\u652f\u6301\u6eda\u52a8\u65e5\u5fd7\u5220\u9664\u529f\u80fd")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RFBQ"},"#I5RFBQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".pcd")," \u56fe\u7247\u7c7b\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"MIME")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"image/x-photo-cd")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5fafc8477a4d213d16db92cf030f409c758fab95"},"5fafc84")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9ed8\u8ba4\u65e5\u5fd7\u8f93\u51fa\u5f53\u524d\u7ebf\u7a0b ",(0,l.kt)("inlineCode",{parentName:"li"},"Environment.CurrentManagedThreadId")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b8fe2cdc49d1bd11e38ad37fa512acafc3d96417"},"b8fe2cd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseInject(Action)")," \u91cd\u8f7d\u65b9\u6cd5\uff0c\u7b80\u5316\u914d\u7f6e ",(0,l.kt)("sup",null,"4.4.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0b645fede0ad81c4779a8b9b4b16d9c5d60c9662"},"0b645fe")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6846\u67b6\u9002\u914d ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},".NET 6.0.9")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET 7.0 RC1"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/be5b4098bae2153f8d49cf9797e454afde0d0aab"},"be5b40")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1eee77bff0954336dcc5402a09a3195667bb80f2"},"1eee77b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},".SetBodyBytes")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},".SetFiles")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PMS5"},"#I5PMS5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PIYI"},"#I5PIYI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FS.InitialContentTypeProvider()")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"FS.GetFileExtensionContentTypeProvider()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5fafc8477a4d213d16db92cf030f409c758fab95"},"5fafc84")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"del"},"[BodyBytes]")," \u8bbe\u8ba1\uff0c\u91c7\u7528 ",(0,l.kt)("inlineCode",{parentName:"del"},"HttpFile")," \u65b9\u5f0f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PMS5"},"#I5PMS5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PIYI"},"#I5PIYI"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3-4,7-8,11-12}",showLineNumbers:!0,"{3-4,7-8,11-12}":!0},'public interface IHttp : IHttpDispatchProxy\n{\n [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]\n Task PostXXXAsync(HttpFile file);\n\n // \u652f\u6301\u591a\u4e2a\u6587\u4ef6\n [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]\n Task PostXXXAsync(HttpFile[] files);\n\n // \u652f\u6301\u591a\u4e2a\u6587\u4ef6\n [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]\n Task PostXXXAsync(IList files);\n}\n')),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,7}",showLineNumbers:!0,"{3,7}":!0},'// bytes \u53ef\u4ee5\u901a\u8fc7 File.ReadAllBytes(\u6587\u4ef6\u8def\u5f84) \u83b7\u53d6\nvar res = await "https://www.furion.icu/upload".SetContentType("multipart/form-data")\n .SetFiles(HttpFile.Create("file", bytes, "image.png")).PostAsync();\n\n// \u652f\u6301\u591a\u4e2a\u6587\u4ef6\nvar res = await "https://www.furion.icu/upload".SetContentType("multipart/form-data")\n .SetFiles(HttpFile.CreateMultiple("files", (bytes, "image1.png"), (bytes, "image2.png"))).PostAsync();\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6240\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"AddInject")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UseInject")," \u53c2\u6570\u8bbe\u8ba1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QCF0"},"#I5QCF0"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,5}",showLineNumbers:!0,"{3,5}":!0},"public void ConfigureServices(IServiceCollection services)\n{\n services.AddInject(options =>\n {\n options.ConfigureSwaggerGen(gen =>\n {\n // ...\n });\n });\n}\n")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,5,10}",showLineNumbers:!0,"{3,5,10}":!0}," public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n app.UseInject(configure: options =>\n {\n options.ConfigureSwagger(swg =>\n {\n // ...\n });\n\n options.ConfigureSwaggerUI(ui =>\n {\n // ...\n });\n });\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"strong"},"xxxAsStreamAsync")," \u8fd4\u56de\u503c")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QVEB"},"#I5QVEB"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u7531\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'var stream = await "https://www.furion.icu/".GetAsStreamAsync();\n')),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'var (stream, encoding) = await "https://www.furion.icu/".GetAsStreamAsync();\n')))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"}," ",(0,l.kt)("inlineCode",{parentName:"strong"},".Inject()")," \u652f\u6301\u914d\u7f6e\u66f4\u591a\u53c2\u6570\uff0c\u5f00\u653e\u5e95\u5c42\u66f4\u591a\u6743\u9650")," ",(0,l.kt)("sup",null,"4.4.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1182283f6303b2d73ae4c82cdbc8b5b705d90030"},"1182283"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},".Inject((builder, options) => {\n options.ConfigureAppConfiguration((context, config) =>\n {\n\n });\n options.ConfigureServices((context, services) =>\n {\n\n });\n});\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4ee3\u7406\u6a21\u5f0f\u975e\u6cdb\u578b\u53c2\u6570\u5bfc\u81f4\u6570\u7ec4\u6ea2\u51fa\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5Q3SN"},"#I5Q3SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u5ba2\u6237\u7aef ",(0,l.kt)("inlineCode",{parentName:"li"},"IP")," \u8bb0\u5f55\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QCU1"},"#I5QCU1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/562"},"!562")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u54cd\u5e94\u62a5\u6587\u4e2d\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"charset=gbk")," \u8fdb\u884c\u5e8f\u5217\u5316\u540e\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QVEB"},"#I5QVEB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6587\u4ef6\u65e5\u5fd7\u65ad\u7535\u65f6\u4e22\u5931\u65e5\u5fd7\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/db7d51bba569001bc363727a6683ab3f31c3fc1d"}," db7d51b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"WebAPI")," \u6216\u63a7\u5236\u53f0\u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},'[ApiDescriptionSettings(Tag = "")]')," \u6807\u7b7e\u4e4b\u540e\u5bfc\u81f4\u6ce8\u91ca\u4e22\u5931 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5REVF"},"#I5REVF")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RE4J"},"#I5RE4J")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u542f\u7528\u6570\u636e\u5e93\u65e5\u5fd7\u4f46\u662f\u6ca1\u6709\u914d\u7f6e\u914d\u7f6e\u6587\u4ef6\u51fa\u73b0\u7a7a\u5f02\u5e38\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/33817bed9d47c85a57c0198c0819ad5cf1c41d0b"},"33817be")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u63a7\u5236\u53f0\u65e5\u5fd7\u8fc7\u6ee4\u65e0\u6cd5\u8fc7\u6ee4\u9ed8\u8ba4\u4e3b\u673a\u65e5\u5fd7\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/33817bed9d47c85a57c0198c0819ad5cf1c41d0b"},"33817be")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u811a\u624b\u67b6\u9519\u8bef\u7684\u65e5\u5fd7\u914d\u7f6e\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/33817bed9d47c85a57c0198c0819ad5cf1c41d0b"},"33817be")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u9ad8\u9891\u538b\u6d4b\u60c5\u51b5\u4e0b\u5199\u65e5\u5fd7\u5e76\u8bbe\u7f6e\u65e5\u5fd7\u4e0a\u4e0b\u6587\u5bfc\u81f4\u5e76\u53d1\u66f4\u65b0\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"strong"},"System.AggregateException")," \u5f02\u5e38\u95ee\u9898")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RFBQ"},"#I5RFBQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u6587\u4ef6\u540d\u56e0 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Windows")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"Linux")," \u8def\u5f84\u5206\u9694\u7b26\u4e0d\u4e00\u81f4\u5bfc\u81f4\u65e5\u5fd7\u6587\u4ef6\u521b\u5efa\u5931\u8d25\u95ee\u9898\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},"Linux")," \u53ea\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"/")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\\"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5RFBQ"},"#I5RFBQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh/Bah")," \u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},".WithData")," \u4e4b\u540e\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/580"},"!580")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u57fa\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"Redis")," \u91cd\u5199\u4e8b\u4ef6\u5b58\u50a8\u5668\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEventSource")," \u5b9e\u4f8b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3e45020eca5948d18d5cb405a665aae44088fd20"},"3e45020")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Log")," \u9759\u6001\u7c7b\u8d85\u9ad8\u9891\u7387\u4e0b\u5199\u65e5\u5fd7\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"CPU")," \u6fc0\u589e\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SDK5"},"#I5SDK5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u8d85\u9ad8\u9891\u7387\u4e0b\u53d1\u9001\u8bf7\u6c42\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"CPU")," \u6fc0\u589e\u95ee\u9898\u548c\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SJJR"},"#I5SJJR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u96c6\u6210\u7b2c\u4e09\u65b9\u914d\u7f6e\u4e2d\u5fc3\u65f6\u83b7\u53d6\u7684\u4e0d\u662f\u6700\u65b0\u6570\u636e\u95ee\u9898 ",(0,l.kt)("sup",null,"4.4.9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2cdef6bd4274e5ea0328f209c34b9158dcded7ee"},"2cdef6b")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption")," \u9759\u6001\u7c7b\uff0c\u652f\u6301\u65e0\u9700\u6ce8\u518c ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddJwt()")," \u4f7f\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PPKE"},"#I5PPKE")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5POLZ"},"#I5POLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4\u65e5\u5fd7\u7c7b\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Logging.EventBusService")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5QLY5"},"#I5QLY5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET7")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ASP.NET 7")," \u96c6\u6210\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u96c6\u6210\u7b2c\u4e09\u65b9\u914d\u7f6e\u4e2d\u5fc3\u6587\u6863 ",(0,l.kt)("sup",null,"4.4.9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7b2c\u4e09\u65b9\u4e8b\u4ef6\u603b\u7ebf\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u96c6\u6210\u6587\u6863 ",(0,l.kt)("sup",null,"4.4.9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Kafka")," \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5P5UG"},"#I5P5UG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u53cb\u597d\u5f02\u5e38\u6587\u6863\u3001\u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\u3001\u4f9d\u8d56\u6ce8\u5165\u6587\u6863\u3001\u5373\u65f6\u901a\u8baf\u6587\u6863\u3001\u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001Worker Service \u6587\u6863\u3001\u5355\u5143\u6d4b\u8bd5\u6587\u6863\u3001\u5165\u95e8\u6307\u5357\u6587\u6863\u3001\u6570\u636e\u5e93\u65b0\u589e\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v439\u5df2\u53d1\u5e03"},"v4.3.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u7248\u672c\u7ec6\u8282",type:"important"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.3.9")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PIWD"},"https://gitee.com/dotnetchina/Furion/issues/I5PIWD")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"v4.3.8")," \u7248\u672c\u7ec6\u8282\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PCXK"},"https://gitee.com/dotnetchina/Furion/issues/I5PCXK")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ExcludeAssemblies")," \u5c5e\u6027\uff0c\u652f\u6301\u5ffd\u7565\u6307\u5b9a\u7a0b\u5e8f\u96c6\u626b\u63cf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7b7747f38c84acfe7df3469599bebf417e5ad843"},"7b7747f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Bah")," \u652f\u6301\u8bbe\u7f6e\u989d\u5916\u6570\u636e ",(0,l.kt)("inlineCode",{parentName:"li"},".WithData(data)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5O38E"},"#I5O38E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"Crontab.GetSleepMilliseconds(baseTime)")," \u83b7\u53d6\u4e0b\u4e00\u4e2a\u53d1\u751f\u65f6\u95f4\u7684\u65f6\u95f4\u5dee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d024fae670b7ce3fd4bfd26aee70ed318a4c0383"},"d024fae")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u53cb\u597d\u5f02\u5e38\u9ed8\u8ba4\u6253\u5370\u5f02\u5e38\u65e5\u5fd7\uff0c\u907f\u514d\u751f\u4ea7\u73af\u5883\u6f0f\u6389\u91cd\u8981\u5f02\u5e38\u4fe1\u606f ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/6e3a5bdd0fd22a7f9ae618b7495cd64081a7f2e8"},"6e3a5bd"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65e5\u5fd7\u9759\u6001\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"Log.CreateLoggerFactory()")," \u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/75c672afc58b393313916c433cb9d92c779b9629"},"75c672a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00 ",(0,l.kt)("inlineCode",{parentName:"li"},"SharedResource")," \u6a21\u5f0f\uff0c\u907f\u514d\u786c\u7f16\u7a0b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/18e80c7d7c2c2450c6ad429601716f546552e987"},"18e80c7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"MessageCenter")," \u9759\u6001\u7c7b\uff0c\u89e3\u51b3\u4ece ",(0,l.kt)("inlineCode",{parentName:"strong"},"Fur v1.x")," \u7248\u672c\u5347\u7ea7\u95ee\u9898 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/a29fc7cf63a3ea41b1617a6ad98a701a243e24f8"},"a29fc7c"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"IWebComponent")," \u6a21\u5f0f\uff0c\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET5+")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/08a44c347a56c467527935a8caac8966585f5d1a"},"08a44c3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u8bbe\u7f6e\u81ea\u5df1\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpClient")," \u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PBR3"},"#I5PBR3")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/544"},"!545")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u652f\u6301\u6dfb\u52a0\u66f4\u591a\u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PEPA"},"#I5PEPA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u53ef\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"WithReturnValue")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"ReturnValueThreshold")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFOW"},"#I5PFOW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u53ef\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"MethodsSettings")," \u66f4\u591a\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFOW"},"#I5PFOW"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,4,6}",showLineNumbers:!0,"{2,4,6}":!0},"Serve.Run(RunOptions.Default\n .AddWebComponent());\n\npublic class XXXWebComponent : IWebComponent\n{\n public void Load(WebApplicationBuilder builder, ComponentContext componentContext)\n {\n // ....\n }\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u7a0b\u5e8f\u96c6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"PublicKeyToken")," \u5f3a\u7b7e\u540d")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/26b12c0fd64b153a71496eb62110567e05450f20"},"26b12c0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"IEventBusFactory")," \u4e8b\u4ef6\u5de5\u5382\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"strong"},"AddSubscriber -> Subscribe"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},"RemoveSubscriber -> Unsubscribe")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/a29fc7cf63a3ea41b1617a6ad98a701a243e24f8"},"a29fc7c"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddInject()")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".UseInject()")," \u914d\u7f6e\u9009\u9879\u540d\u79f0\uff0c\u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"Configure")," \u540e\u7f00 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b6953cd586936593e40ef626c3b8a1e770239e43"},"b6953cd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u8bf7\u6c42\u62e6\u622a"),"\u3001",(0,l.kt)("inlineCode",{parentName:"strong"},"\u54cd\u5e94\u62e6\u622a")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u5f02\u5e38\u62e6\u622a")," \u59d4\u6258\u7b7e\u540d\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"strong"},"HttpClient")," \u53c2\u6570")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5OWBO"},"#I5OWBO"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,7,12}",showLineNumbers:!0,"{2,7,12}":!0},"[Interceptor(InterceptorTypes.Request)]\nstatic void OnRequest(HttpClient client, HttpRequestMessage req)\n{\n}\n\n[Interceptor(InterceptorTypes.Response)]\nstatic void OnResponsing(HttpClien client, HttpResponseMessage res)\n{\n}\n\n[Interceptor(InterceptorTypes.Exception)]\nstatic void OnException(HttpClient client, HttpResponseMessage res, string errors)\n{\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u751f\u6210\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"\u4e2d\u6587")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u89e3\u5bc6\u540e\u51fa\u73b0\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5O397"},"#I5O397")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpRequestMessage")," \u62d3\u5c55\u4e2d\u8ffd\u52a0\u67e5\u8be2\u53c2\u6570\u65f6\u7684\u7a7a\u5f15\u7528\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PENW"},"#I5PENW")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/547"},"!547")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65e5\u5fd7\u6a21\u5757\u914d\u7f6e\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"IDatabaseLoggingWriter")," \u53ea\u6709\u4e00\u4e2a\u751f\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFQ2"},"#I5PFQ2")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u9ed8\u8ba4\u8f93\u51fa\u6587\u4ef6\u65e5\u5fd7\u6a21\u677f\uff0c\u4f7f\u5176\u66f4\u52a0\u7f8e\u89c2 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1518cf3be74524ed0d3f73360068a9a0ec6685d9"},"#1518cf3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u9ed8\u8ba4\u89c4\u8303\u5316\u7ed3\u679c\u9a8c\u8bc1\u5904\u7406\u4e5f\u652f\u6301\u72b6\u6001\u7801\u8bbe\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2eb939074a14d29fcd3e4726937c8a8430765f48"},"2eb9390")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugarCore")," \u62d3\u5c55\u5305\u548c\u811a\u624b\u67b6\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"5.1.2.6")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PCXK"},"#I5PCXK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"LoggingMonitor")," \u66f4\u591a\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5PFJ1"},"#I5PFJ1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"RabbitMQ")," \u4e8b\u4ef6\u603b\u7ebf\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u914d\u7f6e\u6587\u6863\u3001\u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001\u591a\u6570\u636e\u5e93\u914d\u7f6e\u6587\u6863\u3001\u65e5\u5fd7\u6587\u6863\u3001\u5b9a\u65f6\u4efb\u52a1\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"MessageCenter")," \u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\u3001\u7ec4\u4ef6\u5316\u6587\u6863\u3001\u5165\u95e8\u6307\u5357\u3001\u591a\u8bed\u8a00\u6587\u6863\u3002")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v4213\u5df2\u53d1\u5e03"},"v4.2.13\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf\u5de5\u5382\uff0c\u652f\u6301\u8fd0\u884c\u65f6\u52a8\u6001\u6dfb\u52a0\u8ba2\u9605\u7a0b\u5e8f\u548c\u79fb\u9664\u8ba2\u9605\u7a0b\u5e8f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NNQX"},"#I5NNQX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"[EventSubscribe]")," \u4e8b\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Id")," \u652f\u6301\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NNQX"},"#I5NNQX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"[EventSubscribe]")," \u652f\u6301\u5c40\u90e8\u5931\u8d25\u91cd\u8bd5\u914d\u7f6e")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NNQX"},"#I5NNQX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Log")," \u5168\u5c40\u9759\u6001\u7c7b\uff0c\u65b9\u4fbf\u968f\u65f6\u968f\u5730\u8bb0\u5f55\u65e5\u5fd7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ba9b1f13a0b89b6670cf7078ac15abe0eed1f2c3"},"ba9b1f1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"li"},"options.AddSubscriber(Type)")," \u91cd\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/blob/424460780b630e1c71de4db84ad8fd14e33a09f5/framework/Furion.Pure/EventBus/Builders/EventBusOptionsBuilder.cs"},"42446078")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u7c7b\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"FirstErrorProperty")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"FirstErrorMessage")," \u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MFJT"},"#I5MFJT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6a21\u5f0f ",(0,l.kt)("inlineCode",{parentName:"li"},"WithArgs(args)")," \u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MOJB"},"#I5MOJB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u5206\u5e03\u5f0f\u4e8b\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"TransactionScope")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MRTY"},"#I5MRTY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," 16 \u4f4d ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u52a0\u5bc6\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5N8RC"},"#I5N8RC")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create(async (f,s) => {})")," \u5f02\u6b65\u521b\u5efa\u4f5c\u7528\u57df\u65b9\u6cd5\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"CreateAsync"),"\uff0c\u907f\u514d\u4e00\u4e9b\u60c5\u51b5\u4e0b\u65e0\u6cd5\u533a\u5206\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u540c\u6b65\u65b9\u6cd5\u4e0d\u53d8")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5N9XY"},"#I5N9XY"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u7531\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2}",showLineNumbers:!0,"{1-2}":!0},"// Scoped.CreateUow \u4e00\u6837\nawait Scoped.Create(async (f, s) => {});\n")),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2}",showLineNumbers:!0,"{1-2}":!0},"// Scoped.CreateUowAsync \u4e00\u6837\nawait Scoped.CreateAsync(async (f, s) => {});\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 6.0.8")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 7 Preview 7")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/842d4f739c92366e05fb1d2c619c9b2c2c2c21b7"},"842d4f7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u547d\u540d\u7a7a\u95f4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"System"),"\uff0c\u56e0\u4e3a\u4f7f\u7528\u9891\u7387\u8d8a\u6765\u8d8a\u9ad8 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b879861c9db5cf3cb0f4ae023d1e96b06fad3e46"},"b879861")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u5728\u975e ",(0,l.kt)("inlineCode",{parentName:"strong"},"Web")," \u73af\u5883\u4e2d\u4e0d\u6b63\u786e\u4f7f\u7528\u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u6cd5\u68c0\u6d4b\u673a\u5236")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6389cbdd69f5ca826fad25749a45ede079db98ce"},"6389cbd")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"strong"},".Default")," \u9759\u6001\u5c5e\u6027\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},".Default()")," \u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6389cbdd69f5ca826fad25749a45ede079db98ce"},"6389cbd")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u5de5\u4f5c\u5355\u5143 ",(0,l.kt)("inlineCode",{parentName:"strong"},"IUnitOfWork")," \u6240\u6709\u65b9\u6cd5\u53c2\u6570\u7c7b\u578b\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"strong"},"ActionExecutingContext")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"ActionExecutedContext")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"FilterContext"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,5,7,9}",showLineNumbers:!0,"{3,5,7,9}":!0},"public interface IUnitOfWork\n{\n void BeginTransaction(FilterContext context, UnitOfWorkAttribute unitOfWork);\n\n void CommitTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);\n\n void RollbackTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);\n\n void OnCompleted(FilterContext context, FilterContext resultContext);\n}\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65e5\u5fd7\u4e0a\u4e0b\u6587\u6570\u636e\u591a\u6b21\u5199\u5165\u88ab\u6e05\u7a7a\u95ee\u9898\u4ee5\u53ca\u6570\u636e\u5e93\u65e5\u5fd7\u51fa\u73b0\u5f02\u5e38\u540e\u505c\u6b62\u5199\u5165 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5LIWF"},"#I5LIWF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e2a\u522b\u60c5\u51b5\u4e0b\u8de8\u57df\u9ed8\u8ba4\u914d\u7f6e\u7684\u54cd\u5e94\u7f13\u5b58\u5bfc\u81f4\u5d4c\u5165\u5f0f\u8d44\u6e90\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7a57efe15a9a2d76475d758f2b64395f96d94077"},"7a57efe")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4f20\u5165\u4e0d\u5408\u6cd5\u7684\u8bf7\u6c42\u62a5\u6587\u5934\u6570\u636e\u89e6\u53d1\u6821\u9a8c\u5931\u8d25\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5LPFE"},"#I5LPFE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u7ebf\u7a0b\u4e2d\u4f7f\u7528\u9759\u6001\u65e5\u5fd7\u5199\u6570\u636e\u5e93\u65e5\u5fd7\u5bfc\u81f4\u8fde\u63a5\u6c60\u8017\u5149\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8d5cdd6ca04d55e33322000ecc176e47195b6f4d"},"8d5cdd6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore 6.0")," \u4e4b\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"IModelCacheKeyFactory")," \u63a5\u53e3\u65b9\u6cd5\u6539\u53d8\u5bfc\u81f4\u5206\u8868\u5206\u5e93\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MCZ6"},"#I5MCZ6")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/dotnet/efcore/issues/25154#issuecomment-868804532"},"EFCore#25154")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/dotnet/EntityFramework.Docs/pull/3305"},"EFCore!3305")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u5bf9\u8c61 ",(0,l.kt)("inlineCode",{parentName:"li"},"Message")," \u5b57\u7b26\u4e32\u7c7b\u578b\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},'\\"\\"')," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MFJT"},"#I5MFJT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[IfException]")," \u8986\u76d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh/Bah")," \u9519\u8bef\u6d88\u606f\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4bbd854c6779bf7eca26fd69b25c4979b8cec32d"},"4bbd854")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u65e5\u5fd7\u5199\u5165\u5faa\u73af\u5199\u5165\u548c\u9891\u7e41\u521b\u5efa\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9ce214c9cf49eb1ff59f3c52dbecd789be4f45fd"},"9ce214c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301\u5168\u5c40\u5f02\u5e38\u62e6\u622a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301\u5168\u5c40\u6570\u636e\u9a8c\u8bc1\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301\u5de5\u4f5c\u5355\u5143 ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor Pages")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u81ea\u52a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"SaveChanges")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MHX5"},"#I5MHX5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Blazor Server")," \u56e0 ",(0,l.kt)("inlineCode",{parentName:"li"},"v4.2.2")," \u7248\u672c\u66f4\u65b0\u5bfc\u81f4\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MNFN"},"#I5MNFN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[IfException]")," \u4e0d\u652f\u6301\u591a\u8bed\u8a00\u914d\u7f6e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MPN7"},"#I5MPN7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddMvcFilter()")," \u65b9\u5f0f\u6ce8\u518c\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8d1477d8b44ae111bddb8e4780672bcaf4e0e467"},"8d1477d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Channel")," \u7ba1\u9053\u521d\u59cb\u5316\u65f6\u673a\u8fc7\u665a\u95ee\u9898\uff0c\u89e3\u51b3\u90e8\u5206\u7b2c\u4e09\u65b9\u4f9d\u8d56\u4f7f\u7528\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MM3O"},"#I5MM3O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e3b\u673a\u505c\u6b62\u65f6\u5199\u5165\u65e5\u5fd7\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5N7S2"},"#I5N7S2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u624b\u52a8\u91ca\u653e\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"AutoSaveChange")," \u7279\u6027\u51fa\u73b0\u91ca\u653e\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NFWC"},"#I5NFWC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5faa\u73af\u5f15\u7528\u5e8f\u5217\u5316\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NRT9"},"#I5NRT9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," Body \u53c2\u6570\u629b\u51fa\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NTUE"},"#I5NTUE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4\u5f00\u542f\u6a21\u7cca\u5339\u914d\uff08\u6b63\u5219\u8868\u8fbe\u5f0f\uff09\u5bfc\u81f4\u4e0d\u5fc5\u8981\u7684\u8ba2\u9605 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5NVOP"},"#I5NVOP")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4e8b\u4ef6\u603b\u7ebf\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Channel")," \u7ba1\u9053\u521d\u59cb\u5316\u65f6\u673a\uff0c\u89e3\u51b3\u90e8\u5206\u7b2c\u4e09\u65b9\u4f9d\u8d56\u4f7f\u7528\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5MM3O"},"#I5MM3O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5e95\u5c42\u8fed\u4ee3\u6539\u8fdb\u4f18\u5316"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863\u83b7\u53d6\u63a7\u5236\u5668\u3001\u65b9\u6cd5\u5206\u7ec4\u3001\u6807\u7b7e\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/66d8d54b225b5294cd54aa76b548312f7c37903a"},"66d8d54")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u65e5\u5fd7\u9759\u6001\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"Log")," \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ba9b1f13a0b89b6670cf7078ac15abe0eed1f2c3"},"ba9b1f1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Nuget")," \u672c\u5730\u6d4b\u8bd5\u5305\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u6587\u6863\u3001\u9759\u6001\u7c7b\u6587\u6863\u3001\u6570\u636e\u6821\u9a8c\u6587\u6863\u3001Worker Service \u6587\u6863\u3001\u5de5\u4f5c\u5355\u5143\u6587\u6863\u3001\u4f9d\u8d56\u6ce8\u5165\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v4114\u5df2\u53d1\u5e03"},"v4.1.14\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion.Xunit")," \u62d3\u5c55\u5305\uff0c\u6b63\u5f0f\u5b9e\u73b0 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Xunit")," \u5355\u5143\u6d4b\u8bd5\u5b8c\u6574\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/063a034edd089e88d501af4c09251611476fd238"},"063a034e"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddMonitorLogging()")," \u65e5\u5fd7\u76d1\u89c6\u5668\u670d\u52a1\uff0c\u652f\u6301\u975e\u5e38\u7075\u6d3b\u7684\u65e5\u5fd7\u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/81df742b2784a18fbf4060fe30cc5151909c3cab"},"81df742")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Serve.Run(silence: true)")," \u7b49\u4e00\u7cfb\u5217\u5f3a\u5927\u7684\u9759\u9ed8\u542f\u52a8\u529f\u80fd ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5JBSQ"},"#I5JBSQ")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5J98T"},"#I5J98T")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/7cced443ca1cdcb29226c71274e087ec2a6135ef"},"7cced4"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder.GetOpenApiGroups()")," \u65b9\u6cd5\u83b7\u53d6\u5e95\u5c42\u7684\u89c4\u8303\u5316\u63a5\u53e3\u5206\u7ec4\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4ff03c5f8342c4d9b26fb1336cd78936ab189f5e"},"4ff03c5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"logger.ScopeContext()")," \u914d\u7f6e\u65e5\u5fd7\u4e0a\u4e0b\u6587\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JC0D"},"#I5JC0D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8de8\u57df\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"CorsAccessorSettings.SignalRSupport")," \u914d\u7f6e\u9009\u9879\uff0c\u652f\u6301\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"SignalR")," \u8de8\u57df ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JREM"},"#I5JREM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"li"},"UseUtcTimestamp")," \u9009\u9879\u914d\u7f6e\uff0c\u53ef\u9009\u62e9\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime.UtcNow")," \u8fd8\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime.Now"),"\uff0c\u9ed8\u8ba4\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime.Now")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JSEU"},"#I5JSEU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"[OperationId]")," \u914d\u7f6e\uff0c\u89e3\u51b3\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u4e0d\u80fd\u6b63\u786e\u663e\u793a\u8def\u7531\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5K1IB"},"#I5K1IB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"IHttpDispatchProxy")," \u65b9\u5f0f\u5168\u5c40\u62e6\u622a\u652f\u6301\u591a\u6001\uff08\u7ee7\u627f\uff09 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5K8FS"},"#I5K8FS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Xunit")," \u62d3\u5c55\u5305\uff0c\u6b63\u5f0f\u5b9e\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Xunit")," \u5355\u5143\u6d4b\u8bd5\u5b8c\u6574\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/063a034edd089e88d501af4c09251611476fd238"},"063a034e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Furion.Extras.DatabaseAccessor.SqlSugar")," \u62d3\u5c55\u63d2\u4ef6\u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"del"},"[SqlSugarUnitOfWork]")," \u5de5\u4f5c\u5355\u5143\u7279\u6027\uff0c\u5c06\u4f7f\u7528\u901a\u7528\u5de5\u4f5c\u5355\u5143\u66ff\u6362","*","*")," ",(0,l.kt)("a",{parentName:"li",href:"/docs/tran#92631-%E8%87%AA%E5%8A%A8%E7%AE%A1%E7%90%86"},"\u67e5\u770b\u6700\u65b0\u5b9e\u73b0\u6587\u6863"),"*","*"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Inject.Create()")," \u65b9\u6cd5\uff0c\u518d\u4e5f\u4e0d\u9700\u8981\u4e86\uff0c\u6846\u67b6\u63d0\u4f9b\u4e86\u65e0\u654c\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"del"},"Serve.Run()")," \u9759\u9ed8\u542f\u52a8\u65b9\u5f0f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/200848eda8c2e419c0b5be83f7768a257f3c88bd"},"200848e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ConfigureConfiguration")," \u65b9\u6cd5\u53c2\u6570\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"li"},"configuration => {}")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"(environment, configuration) => {}")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83c97bb5a19d6fc4e51cfe05f635675d26067d45"},"83c97bb"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,6}",showLineNumbers:!0,"{2,6}":!0},"// \u7531\nServe.Run(RunOptions.Default.ConfigureConfiguration(configuration => {\n\n}));\n// \u6539\u4e3a\uff1a\nServe.Run(RunOptions.Default.ConfigureConfiguration((environment, configuration) => {\n\n}));\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5f02\u5e38\u6d88\u606f\u65e5\u5fd7\u7ea7\u522b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Information")," \u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ab46cdf534433f45d39ce4d3ee7c71ca84707140"},"ab46cdf")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65b0\u7248\u672c\u65e5\u5fd7\u7ec4\u4ef6\u9891\u7e41\u63d0\u793a\u6587\u4ef6\u5360\u7528\u95ee\u9898\uff0c\u5c06\u6587\u4ef6\u72ec\u5360\u9501\u6539\u4e3a\u5171\u4eab\u9501 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5J3S6"},"#I5J3S6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u914d\u7f6e\u6570\u636e\u5e93\u65e5\u5fd7\u8bfb\u5199\u5668\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65f6\u63a7\u5236\u53f0\u51fa\u73b0\u65e0\u9650\u6253\u5370\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5J474"},"#I5J474")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u9488\u5bf9 ",(0,l.kt)("inlineCode",{parentName:"li"},"byte[]")," \u7c7b\u578b\u53c2\u6570\u8f93\u51fa\u8fc7\u5927\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5380f3551de69f8607ca0fc33c950103c7ed8174"},"5380f35")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u53cb\u597d\u5f02\u5e38\u548c\u89c4\u8303\u5316\u7ed3\u679c\u4e22\u5931\u4e86\u539f\u59cb ",(0,l.kt)("inlineCode",{parentName:"li"},"ErrorCode")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5IX2R"},"#I5IX2R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65b0\u7248\u672c\u65e5\u5fd7\u7ec4\u4ef6\u81ea\u5b9a\u4e49\u6570\u636e\u5e93\u8bfb\u5199\u5668\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u4ed3\u50a8\u5bfc\u81f4\u6b7b\u5faa\u73af\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5IX2R"},"#I5IX2R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u9ed8\u8ba4\u624b\u52a8\u9a8c\u8bc1\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5168\u5c40\u9a8c\u8bc1\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2a06c39c1d0a032bbc317e25a22c646babce2a60"},"2a06c39")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6a21\u5f0f\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"SuperSocket")," \u7b2c\u4e09\u65b9\u5305\u95ee\u9898\uff0c\u539f\u751f\u662f\u652f\u6301\u7684\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/186ca0a35d696f58d9e696094848a560074cdf6f"},"186ca0a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SignalR")," \u8de8\u57df\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JREM"},"#I5JREM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Bah")," \u8bb0\u5f55\u5230\u4e86\u9519\u8bef\u65e5\u5fd7\u4e2d\uff0c\u9ed8\u8ba4\u5e94\u8be5\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"Information")," \u4e14\u63d0\u4f9b\u53ef\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5JZ1H"},"#I5JZ1H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u4e4b\u540e\u4e2a\u522b ",(0,l.kt)("inlineCode",{parentName:"li"},"UI")," \u8981\u6c42\u5fc5\u987b\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"operationId"),"\uff0c\u5426\u5219\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"guid")," \u5e8f\u53f7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5K1IB"},"#I5K1IB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e3b\u52a8\u629b\u51fa ",(0,l.kt)("inlineCode",{parentName:"li"},"NotFoundResult")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"NotFoundObjectResult")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5KALZ"},"#I5KALZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u89e3\u6790\u65b9\u6cd5\u53c2\u6570\u4f46\u524d\u7aef\u672a\u4f20\u5165\u65f6\u51fa\u73b0\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5KC5P"},"#I5KC5P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u65e0\u6cd5\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"IQueryable")," \u8fd4\u56de\u503c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5KJD1"},"#I5KJD1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u4e0d\u80fd\u8bb0\u5f55\u5168\u5c40\u9a8c\u8bc1\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b44087dcc7dbe9992b8f4518e0b0cf4ed61c56bb"},"b44087d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[LoggingMonitor]")," \u5b58\u5728\u6ce8\u518c\u987a\u5e8f\u5dee\u5f02\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/b44087dcc7dbe9992b8f4518e0b0cf4ed61c56bb"},"b44087d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e95\u5c42\u7684\u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder")," \u90e8\u5206\u65b9\u6cd5\uff0c\u63d0\u4f9b\u66f4\u52a0\u4fbf\u6377\u7684\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u96c6\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/10f0f01996586eedb138304c7b00c6f31282dfeb"},"10f0f01")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5355\u5143\u6d4b\u8bd5\u6587\u6863\u3001\u5165\u95e8\u6307\u5357\u6587\u6863\u3001Worker Services \u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u5f7b\u5f7b\u5e95\u5e95\u652f\u6301\u5168\u5e73\u53f0\uff0c\u63d0\u4f9b\u975e\u5e38\u5f3a\u5927\u7684\u9759\u9ed8\u6a21\u5f0f")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u542f\u7528\u9759\u9ed8\u6a21\u5f0f\u53ef\u4ee5\u5b9e\u73b0\u65e0\u963b\u585e\u65b9\u5f0f\u6267\u884c\u7a0b\u5e8f\uff0c\u800c\u4e14\u8fd8\u80fd\u4f53\u9a8c\u5b8c\u6574\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u529f\u80fd\u3002")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u5927\u9769\u547d",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u6709\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"Serve.Run()")," \u9759\u9ed8\u6a21\u5f0f\u540e\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u5f7b\u5f7b\u5e95\u5e95\u652f\u6301\u5168\u5e73\u53f0\uff0c\u4e0d\u7ba1\u4f60\u662f ",(0,l.kt)("inlineCode",{parentName:"p"},"\u63a7\u5236\u53f0\u3001Web\u3001\u684c\u9762\u3001\u79fb\u52a8\u3001\u5355\u5143\u6d4b\u8bd5\uff0c\u96c6\u6210\u6d4b\u8bd5\uff0c\u57fa\u51c6\u6d4b\u8bd5\u7b49\u7b49\u5e94\u7528\u7a0b\u5e8f"),"\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3}",showLineNumbers:!0,"{1,3}":!0},'Serve.Run(silence: true);\n\n// \u4e0d\u4f1a\u963b\u585e\u6267\u884c\u54e6\uff0c\u800c\u4e14\u4ece\u8fd9\u91cc\u5f00\u59cb\u53ef\u4ee5\u4f7f\u7528 Furion \u4efb\u4f55\u529f\u80fd\uff0c\u6bd4\u5982 App.Configuration....\nConsole.WriteLine("Hello, World!");\nConsole.ReadKey();\n')),(0,l.kt)("p",null,"\u8fd8\u6709\u66f4\u591a\u9759\u9ed8\u6a21\u5f0f\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,5,8}",showLineNumbers:!0,"{2,5,8}":!0},"// RunOptions \u65b9\u5f0f\nServe.Run(RunOptions.DefaultSilence);\n\n// LegacyRunOptions \u65b9\u5f0f\nServe.Run(LegacyRunOptions.DefaultSilence);\n\n// GenericRunOptions \u65b9\u5f0f\nServe.Run(GenericRunOptions.DefaultSilence);\n")))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Xunit")," \u5355\u5143\u6d4b\u8bd5\u3001\u96c6\u6210\u6d4b\u8bd5")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u5927\u9769\u547d",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u5355\u5143\u6d4b\u8bd5\u548c\u96c6\u6210\u6d4b\u8bd5\u662f\u4fdd\u8bc1\u4e00\u4e2a\u7cfb\u7edf\u80fd\u591f\u6301\u7eed\u7ef4\u62a4\u548c\u7a33\u5b9a\u8fd0\u884c\u7684\u5fc5\u5907\u6280\u80fd\uff0c\u4f46\u662f\u76ee\u524d\u73b0\u6709\u7684\u5355\u5143\u6d4b\u8bd5\u7ec4\u4ef6\u65e0\u6cd5\u76f4\u63a5\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u7684\u529f\u80fd\uff0c\u6700\u5e38\u7528\u7684\u5c31\u662f\u5982\u4f55\u5728\u5355\u5143\u6d4b\u8bd5\u4e2d\u8bfb\u53d6\u914d\u7f6e\uff0c\u4ee5\u53ca",(0,l.kt)("strong",{parentName:"p"},"\u5982\u4f55\u8fdb\u884c\u4f9d\u8d56\u6ce8\u5165"),"\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u5728\u8fc7\u53bb\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u53ea\u80fd\u4e0d\u65ad\u7684\u53bb\u8c03\u6574\uff0c\u4ee5\u81f3\u4e8e\u9002\u914d\u7b2c\u4e09\u65b9\u5355\u5143\u6d4b\u8bd5\u5199\u6cd5\uff0c\u641e\u5f97\u4e0d\u4f26\u4e0d\u7c7b\uff01"),(0,l.kt)("p",{parentName:"admonition"},"\u6240\u4ee5\uff0c\u8fd9\u4e00\u6b21\u4e0d\u518d\u59a5\u534f\uff0c",(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u63a8\u51fa\u81ea\u5df1\u7684\u5355\u5143\u6d4b\u8bd5\u5de5\u5177\uff0c\u53ef\u4ee5\u8ba9\u73b0\u6709\u7684\u5355\u5143\u6d4b\u8bd5\u5982 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Xunit")," 100% \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6240\u6709\u529f\u80fd\uff0c\u5168\u90e8\u4fdd\u8bc1\u4e00\u81f4\u7684\u5199\u6cd5\u3002"))),(0,l.kt)("p",null,"\u5355\u5143\u6d4b\u8bd5\u4e2d\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {6,13,18}",showLineNumbers:!0,"{6,13,18}":!0},'using Furion.Xunit;\nusing Xunit.Abstractions;\nusing Xunit.Sdk;\n\n// \u914d\u7f6e\u542f\u52a8\u7c7b\u7c7b\u578b\uff0c\u7b2c\u4e00\u4e2a\u53c2\u6570\u662f TestProgram \u7c7b\u5b8c\u6574\u9650\u5b9a\u540d\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u5f53\u524d\u9879\u76ee\u7a0b\u5e8f\u96c6\u540d\u79f0\n[assembly: TestFramework("TestProject1.TestProgram", "TestProject1")]\n\nnamespace TestProject1;\n\n/// \n/// \u5355\u5143\u6d4b\u8bd5\u542f\u52a8\u7c7b\n/// \npublic class TestProgram : TestStartup\n{\n public TestProgram(IMessageSink messageSink) : base(messageSink)\n {\n // \u521d\u59cb\u5316 Furion\n Serve.Run(silence: true);\n }\n}\n')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u6d4b\u8bd5\u7c7b\u652f\u6301\u5b8c\u6574\u4f9d\u8d56\u6ce8\u5165")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {9,15}",showLineNumbers:!0,"{9,15}":!0},"using TestProject1.Services;\nusing Xunit;\n\nnamespace TestProject1;\n\npublic class UnitTest1\n{\n private readonly ICalcService _calcService;\n public UnitTest1(ICalcService calcService)\n {\n _calcService = calcService;\n }\n\n [Fact]\n public void \u6d4b\u8bd5\u4e24\u4e2a\u6570\u7684\u548c()\n {\n Assert.Equal(3, _calcService.Plus(1, 2));\n }\n}\n")),(0,l.kt)("img",{src:(0,p.Z)("img/ut9.png")}),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"/docs/unittest"},"\u67e5\u770b\u65b0\u7248\u672c\u5355\u5143\u6d4b\u8bd5\u6587\u6863"))))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},"\u5f00\u653e\u5e95\u5c42\u89c4\u8303\u5316\u6587\u6863\u5206\u7ec4\u63a5\u53e3\uff0c\u4f7f\u5f97\u96c6\u6210\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger UI")," \u66f4\u52a0\u5bb9\u6613\uff0c\u5982\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"IGeekFan.AspNetCore.Knife4jUI")," \u62d3\u5c55\uff1a")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u5b89\u88c5\u5305",type:"note"},(0,l.kt)("p",{parentName:"admonition"},"\u53ea\u9700\u8981\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"YourPoject.Web.Core")," \u5c42\u5b89\u88c5 ",(0,l.kt)("inlineCode",{parentName:"p"},"IGeekFan.AspNetCore.Knife4jUI")," \u5373\u53ef\u3002")),(0,l.kt)("p",null,"3.1.1 ",(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u72ec\u7acb\u7248\u672c\u914d\u7f6e")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,12}",showLineNumbers:!0,"{1,3,12}":!0},'var routePrefix = "api"; // \u5b9a\u4e49 swagger \u8def\u7531\u5730\u5740\uff0c\u5982\u679c\u662f\u8ddf\u76ee\u5f55\uff0c\u8bbe\u7f6e string.Empty \u5373\u53ef\n\napp.UseKnife4UI(options =>\n{\n options.RoutePrefix = routePrefix; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(routePrefix); // \u914d\u7f6e Furion \u8def\u7531\u5730\u5740\n')),(0,l.kt)("p",null,"3.1.2 ",(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u5171\u5b58\u7248\u672c\u914d\u7f6e")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,10}",showLineNumbers:!0,"{1,3,10}":!0},'app.UseKnife4UI(options =>\n{\n options.RoutePrefix = "newapi"; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\uff0c\u73b0\u5728\u662f /newapi\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(); // Furion \u9ed8\u8ba4 api \u5730\u5740\u4e3a /api\n')),(0,l.kt)("img",{src:(0,p.Z)("img/sg20.png")}),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u5982\u9700\u5b9e\u73b0\u767b\u5f55\u4e4b\u540e\u81ea\u52a8\u5c06 ",(0,l.kt)("inlineCode",{parentName:"strong"},"token")," \u6dfb\u52a0\u5230\u5934\u90e8\u53ef\u5728\u767b\u5f55\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"strong"},"AfterScript")," \u6267\u884c\u4ee5\u4e0b\u4ee3\u7801\uff1a")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'ke.global.setAllHeader(\n "Authorization",\n "Bearer " + ke.response.headers["access-token"]\n);\n')),(0,l.kt)("img",{src:(0,p.Z)("img/kni.jpg")}),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},"\u63d0\u4f9b\u5f3a\u5927\u7684\u65e5\u5fd7\u4e0a\u4e0b\u6587\u529f\u80fd")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,6,12}",showLineNumbers:!0,"{2,6,12}":!0},'// \u5199\u6cd5\u4e00\n_logger.ScopeContext(ctx => ctx.Set("Name", "Furion").Set("UserId", 10))\n .LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n\n// \u5199\u6cd5\u4e8c\n_logger.ScopeContext(new Dictionary {\n { "Name", "Furion" },\n { "UserId", 10 }\n}).LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20);\n\n// \u5199\u6cd5\u4e09\n_logger.ScopeContext(new LogContext {\n // ....\n}).LogInformation("\u6211\u662f\u4e00\u4e2a\u65e5\u5fd7 {id}", 20)\n')))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v400\u91cd\u65b0\u8d77\u822a"},"v4.0.0\uff08\u91cd\u65b0\u8d77\u822a\uff09\ud83d\udc96"),(0,l.kt)("admonition",{title:"\u4e0d\u5fd8\u521d\u5fc3\uff0c\u611f\u6069\u9047\u89c1\uff0c\u611f\u6069\u4fe1\u4efb",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"2020 \u5e74 09 \u6708 01 \u65e5\uff0c\u4e00\u4e2a\u53eb ",(0,l.kt)("inlineCode",{parentName:"p"},"Fur")," \u7684\u5f00\u6e90\u9879\u76ee\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"Gitee")," \u7684\u8941\u8913\u4e2d\u6084\u7136\u8bde\u751f\uff0c\u5979\u7684\u51fa\u751f\u4eff\u4f5b\u5e26\u7740\u67d0\u79cd\u4f7f\u547d\uff0c\u6ca1\u6709\u5305\u88b1\uff0c\u65e0\u9650\u53ef\u80fd\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u5979\u7f13\u7f13\u7684\u5f20\u5f00\u53cc\u773c\uff0c\u5e72\u51c0\u96ea\u4eae\u7684\u773c\u775b\u4f3c\u4e4e\u5bf9\u8fd9\u4e2a\u4e16\u754c\u5145\u6ee1\u4e86\u597d\u5947\uff0c\u4efb\u4f55\u4e8b\u7269\u5728\u5979\u773c\u524d\u6643\u8fc7\u90fd\u50cf\u662f\u76f4\u51fb\u7075\u9b42\u7684\u601d\u60f3\u78b0\u649e\uff0c\u8fd9\u4e9b\u5728\u5979\u770b\u6765\u90fd\u662f\u975e\u5e38\u5b9d\u8d35\u7684\u8d22\u5bcc\u3002\u5979\u8c8c\u4f3c\u6709\u7528\u4e0d\u5b8c\u7684\u7cbe\u529b\uff0c\u4e00\u8def\u6c72\u53d6\u77e5\u8bc6\uff0c\u5347\u7ea7\u6253\u602a\uff0c\u4e0d\u65ad\u5954\u8dd1\uff0c\u4e50\u6b64\u4e0d\u75b2\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u8bb0\u5f97 2020 \u5e74 11 \u6708 11 \u65e5\u7684\u5355\u8eab\u8282\uff0c\u5979\u8fce\u6765\u4e86\u201c\u4e00\u5c81\uff08v1.0.0\uff09\u201d\u751f\u65e5\uff0c\u81ea\u90a3\u4ee5\u540e\uff0cIT \u8fd9\u4e2a\u5927\u94f6\u5e55\u4e0a\u9891\u7e41\u51fa\u73b0\u5979\u7684\u8eab\u5f71\uff0c\u8d8a\u6765\u8d8a\u591a ",(0,l.kt)("inlineCode",{parentName:"p"},".NET5")," \u5f00\u53d1\u8005\u8f6c\u7c89\uff0c\u50cf\u662f\u544a\u8bc9\u8fd9\u4e2a\u4e16\u754c\uff0c\u5979\u5c31\u662f IT \u754c\u5927\u660e\u661f\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u6bcf\u4e00\u4e2a\u660e\u661f\u90fd\u6709\u4e00\u4e2a\u597d\u542c\u7684\u827a\u540d\uff0c\u5979\u5f53\u7136\u4e5f\u4e0d\u4f8b\u5916\uff0c2020 \u5e74 11 \u6708 20 \u65e5\uff0c\u7ecf\u7eaa\u4eba\u767e\u5c0f\u50e7\u4e3a\u5979\u8d77\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion"),"\u3002"),(0,l.kt)("p",{parentName:"admonition"},"2021 \u5e74 11 \u6708 09 \u65e5\u8d77\uff0c\u5979\u8fdb\u5165\u4e86\u6bcf\u4e2a\u5b69\u5b50\u90fd\u7ecf\u5386\u8fc7\u7684\u53db\u9006\u671f\uff0c\u5e74\u5c11\u8f7b\u72c2\u559c\u65b0\u538c\u65e7\uff0c\u629b\u5f03\u4e86\u66fe\u7ecf\u652f\u6301\u5979\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET5")," \u7c89\u4e1d\u4eec\uff0c\u6295\u5165\u5230\u65b0\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET6")," \u62e5\u8db8\u8005\u6000\u62b1\u4e2d\uff0c\u81ea\u6b64\u8fc7\u4e0a\u4e86\u5962\u9761\u5bcc\u8db3\u7684\u751f\u6d3b\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u4f46\u5979\u8fc7\u7684\u4e0d\u5f00\u5fc3\uff0c\u65f6\u5e38\u5728\u591c\u91cc\u60f3\u8d77 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET5")," \u7684\u7c89\u4e1d\u4eec\uff0c\u5185\u5fc3\u975e\u5e38\u81ea\u8d23\uff0c\u4f46\u5728\u53cc\u91cd\u5de5\u4f5c\u538b\u529b\u4e0b\u5979\u6bc5\u7136\u9009\u62e9\u4e86\u5ffd\u89c6\u4ed6\u4eec\u7684\u8bc9\u6c42\uff0c\u4eff\u4f5b\u4ed6\u4eec\u5c31\u662f\u7d2f\u8d58\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u65f6\u95f4\u771f\u7684\u662f\u597d\u4e1c\u897f\uff0c\u66fe\u7ecf\u8ba4\u4e3a\u662f\u5bf9\u7684\uff0c\u7ecf\u8fc7\u5c81\u6708\u7684\u8e49\u8dce\u5386\u78e8\uff0c\u6e10\u6e10\u7684\u660e\u767d\uff1a\u4e0d\u5fd8\u521d\u5fc3\uff0c\u65b9\u80fd\u59cb\u7ec8\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u8fd9\u4e00\u6b21\uff0c\u4e0d\u843d\u4e0b\u4e00\u4eba\uff08",(0,l.kt)("inlineCode",{parentName:"p"},".NET5"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},".NET6"),"\uff0c...\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},".NET N"),"\uff09\uff0c\u643a\u624b\u5171\u8fdb\uff0c\u91cd\u65b0\u8d77\u822a\uff0c\u611f\u6069\u9047\u89c1\uff0c\u611f\u6069\u4fe1\u4efb\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"v4.0.0")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET5"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},".NET6"),"\uff0c...\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},".NET N"),"\uff0c\u6240\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u9879\u76ee\u90fd\u80fd\u591f\u5347\u7ea7\u5230\u8be5\u7248\u672c\uff0c\u91cd\u65b0\u8d77\u822a\uff0c\u5b9e\u73b0\u5927\u7edf\u3002"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v392\u5df2\u53d1\u5e03"},"v3.9.2\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"\u5173\u4e8e\u65e5\u5fd7",type:"important"},(0,l.kt)("p",{parentName:"admonition"},"\u65e5\u5fd7\u6a21\u5757\u662f\u4efb\u4f55\u5e94\u7528\u7cfb\u7edf\u90fd\u5fc5\u5907\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u8bf4\u662f\u6700\u91cd\u8981\u7684\u6a21\u5757\uff01\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET")," \u793e\u533a\u4e2d\u6709 ",(0,l.kt)("inlineCode",{parentName:"p"},"Log4NET"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"NLog"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Serilog")," \u7b49\u65e5\u5fd7\u7ec4\u4ef6\uff0c\u5b83\u4eec\u65e0\u4e00\u4e0d\u662f\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u4f46\u7531\u4e8e\u8fd9\u4e9b\u65e5\u5fd7\u7ec4\u4ef6\u5386\u53f2\u60a0\u4e45\uff0c\u5185\u90e8\u517c\u5bb9\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET")," \u7248\u672c\u975e\u5e38\u591a\uff0c\u529f\u80fd\u968f\u7740\u65f6\u95f4\u63a8\u79fb\u53d8\u5f97\u6781\u5176\u5f3a\u5927\u590d\u6742\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5728\u5b9e\u9645\u9879\u76ee\u4f7f\u7528\u4e2d\uff0c\u53d1\u73b0\u6bcf\u4e00\u4e2a\u65e5\u5fd7\u7ec4\u4ef6\u914d\u7f6e\u603b\u662f\u4e0d\u90a3\u4e48\u53cb\u597d\uff0c\u7279\u522b\u662f\u5728\u4f7f\u7528\u4e0a\u4e0d\u591f\u7b80\u5355"),"\u3002"),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u4f5c\u4e3a\u5168\u6808\u5f00\u53d1\u6846\u67b6\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5728\u8fc7\u53bb\u7248\u672c\u5e76\u6ca1\u6709\u63d0\u4f9b\u8db3\u4ee5\u6ee1\u8db3\u5f00\u53d1\u8005\u9700\u6c42\u7684\u65e5\u5fd7\u6a21\u5757"),"\uff0c\u8f6c\u800c\u63a8\u8350\u5927\u5bb6\u96c6\u6210\u7b2c\u4e09\u65b9\u7ec4\u4ef6\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"p"},"Serilog"),"\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5bfc\u81f4\u540e\u7eed\u65e0\u6cd5\u5b9e\u73b0\u81ea\u5b9a\u4e49\u529f\u80fd\u548c\u4e5f\u589e\u52a0\u4e86\u4e0d\u5c11\u7ef4\u62a4\u6210\u672c\u3002")),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"\u8fd9\u4e00\u6b21\uff0c",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u4e0d\u518d\u59a5\u534f\uff0c\u5f7b\u5e95\u91cd\u6784\u4e86\u65e5\u5fd7\u6a21\u5757\uff0c\u5b9e\u73b0\u65e5\u5fd7\u529f\u80fd/\u9700\u6c42\u5b8c\u5168\u81ea\u4e3b\u53ef\u63a7\uff0c\u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\u51e0\u4e4e\u6240\u6709\u65e5\u5fd7\u529f\u80fd\u7684\u9700\u6c42\uff01")),(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u7684\u4f7f\u7528\u8005\u4eec\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u662f\u65f6\u5019\u201c\u66f4\u6362\u201d\u6389\u7b2c\u4e09\u65b9\u65e5\u5fd7\u7ec4\u4ef6\uff0c\u8ba9\u6211\u4eec\u4e00\u8d77\u8fed\u4ee3\u51fa\u66f4\u5f3a\u66f4\u597d\u7684\u65e5\u5fd7\u7ec4\u4ef6\u5427\uff01")," \ud83c\udf56")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u65e5\u5fd7\u6a21\u5757\uff0c\u5185\u7f6e\u5199\u5165\u63a7\u5236\u53f0\u3001\u6587\u4ef6\u3001\u6570\u636e\u5e93\u529f\u80fd\uff0c\u518d\u4e5f\u65e0\u9700\u5f15\u5165\u7b2c\u4e09\u65b9\u65e5\u5fd7\u4e86\uff01",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Logging"},"\u65e5\u5fd7\u6e90\u7801")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u5f3a\u5927\u7684\u8c03\u8bd5\u65e5\u5fd7 ",(0,l.kt)("inlineCode",{parentName:"strong"},"[LoggingMonitor]")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/32dfc11fd6b47551a81c09e676eb7f5d018ef737"},"32dfc1"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u6a21\u5757\uff0c\u5185\u7f6e\u5199\u5165\u63a7\u5236\u53f0\u3001\u6587\u4ef6\u3001\u6570\u636e\u5e93\u529f\u80fd\uff0c\u518d\u4e5f\u65e0\u9700\u5f15\u5165\u7b2c\u4e09\u65b9\u65e5\u5fd7\u4e86\uff01",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Logging"},"\u65e5\u5fd7\u6e90\u7801"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"TP.Wrapper")," \u89c4\u8303\u5316\u65e5\u5fd7\u6a21\u677f\u7b97\u6cd5\uff0c\u7531\u8fc7\u53bb\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"[\u5c5e\u6027]")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"##\u5c5e\u6027##"),"\uff0c\u89e3\u51b3 ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON")," \u5185\u5bb9\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/commit/394ecec28629aee9945480155d502418d0b7a8f8"},"394ecec"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("strong",{parentName:"del"},"\u672a\u6765 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u5c06\u4e0d\u518d\u7ee7\u7eed\u7ef4\u62a4\uff0c\u56e0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6709\u5f3a\u5927\u7684\u65e5\u5fd7\u7ec4\u4ef6\u4e86\uff01"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8131\u654f\u6a21\u5757\u6a21\u578b\u7ed1\u5b9a\u4e2a\u522b\u60c5\u51b5\u4e0b\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5IM5C"},"#I5IM5C")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u65e5\u5fd7\u6587\u6863\u3001\u9759\u6001\u7c7b\u6587\u6863\u3001\u6570\u636e\u6821\u9a8c\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u6781\u6613\u4f7f\u7528\u4e14\u5f3a\u5927\u7684\u65e5\u5fd7\u6a21\u5757"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'// \u5199\u5165\u6587\u4ef6\nservices.AddFileLogging("logs/application.log");\n\n// \u5199\u5165\u6570\u636e\u5e93\nservices.AddDatabaseLogging();\n')),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"/docs/logging"},"\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u6587\u6863"))))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"[LoggingMonitor]")," \u8c03\u8bd5\u65e5\u5fd7"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},"using Furion.Logging;\n\nnamespace Furion.Application;\n\npublic class TestLoggerServices : IDynamicApiController\n{\n [LoggingMonitor]\n public PersonDto GetPerson(int id)\n {\n return new PersonDto\n {\n Id = id\n };\n }\n}\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u652f\u6301\u63a7\u5236\u5668\u3001\u64cd\u4f5c\u6216\u5168\u5c40\u6ce8\u518c\u62e6\u622a"),"\u3002"),(0,l.kt)("p",null,"\u8f93\u51fa\u65e5\u5fd7\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},'\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Logging Monitor \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 Furion.Application.TestLoggerServices.GetPerson (Furion.Application)\n\u2523\n\u2523 \u63a7\u5236\u5668\u540d\u79f0\uff1a TestLoggerServices\n\u2523 \u64cd\u4f5c\u540d\u79f0\uff1a GetPerson\n\u2523 \u8def\u7531\u4fe1\u606f\uff1a [area]: ; [controller]: test-logger; [action]: person\n\u2523 \u8bf7\u6c42\u5730\u5740\uff1a https://localhost:44316/api/test-logger/person/11\n\u2523 \u6765\u6e90\u5730\u5740\uff1a https://localhost:44316/api/index.html\n\u2523 \u6d4f\u89c8\u5668\u6807\u8bc6\uff1a Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62\n\u2523 \u5ba2\u6237\u7aef IP \u5730\u5740\uff1a 0.0.0.1\n\u2523 \u670d\u52a1\u7aef IP \u5730\u5740\uff1a 0.0.0.1\n\u2523 \u670d\u52a1\u7aef\u8fd0\u884c\u73af\u5883\uff1a Development\n\u2523 \u6267\u884c\u8017\u65f6\uff1a 31ms\n\u2523 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u6388\u6743\u4fe1\u606f \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 JWT Token\uff1a Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsIkFjY291bnQiOiJhZG1pbiIsImlhdCI6MTY1ODcxNjc5NywibmJmIjoxNjU4NzE2Nzk3LCJleHAiOjE2NTg3MTc5OTcsImlzcyI6ImRvdG5ldGNoaW5hIiwiYXVkIjoicG93ZXJieSBGdXJpb24ifQ.VYZkwwqCwlUy3aJjuL-og62I0rkxNQ96kSjEm3VgXtg\n\u2523\n\u2523 UserId (integer)\uff1a 1\n\u2523 Account (string)\uff1a admin\n\u2523 iat (integer)\uff1a 1658716797\n\u2523 nbf (integer)\uff1a 1658716797\n\u2523 exp (integer)\uff1a 1658717997\n\u2523 iss (string)\uff1a dotnetchina\n\u2523 aud (string)\uff1a powerby Furion\n\u2523 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u53c2\u6570\u5217\u8868 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 Content-Type\uff1a\n\u2523\n\u2523 id (Int32)\uff1a 11\n\u2523 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u8fd4\u56de\u4fe1\u606f \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 \u7c7b\u578b\uff1a Furion.Application.Persons.PersonDto\n\u2523 \u8fd4\u56de\u503c\uff1a {"Id":11,"Name":null,"Age":0,"Address":null,"PhoneNumber":null,"QQ":null,"CreatedTime":"0001-01-01T00:00:00+00:00","Childrens":null,"Posts":null}\n\u2517\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Logging Monitor \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n')))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v389\u5df2\u53d1\u5e03"},"v3.8.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"ExceptionMetadata")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u90fd\u53ef\u4ee5\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"ErrorCode")," \u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GJ6D"},"#I5GJ6D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationMetadata")," \u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"StatusCode")," \u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HB5L"},"#I5HB5L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u5bf9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Url")," \u662f\u5426\u7f16\u7801\u8bbe\u7f6e\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"[Get(WithEncodeUrl = false)]")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"WithEncodeUrl(false)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GOBC"},"#I5GOBC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u66f4\u5f3a\u5927\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption.SecurityReadJwtToken('token')")," \u8bfb\u53d6\u89e3\u6790 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/574eeb601294378e68c3d57ceaf6cb17f36636e3"},"574eeb6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValiationTypes.Html")," \u9a8c\u8bc1 ",(0,l.kt)("inlineCode",{parentName:"li"},"Html")," \u6807\u7b7e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBKC"},"#I5HBKC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"https://github.com/efcore/EFCore.NamingConventions"},"EFCore.NamingConventions")," \u652f\u6301\uff0c\u53ef\u81ea\u5b9a\u4e49\u751f\u6210\u8868\u540d\uff0c\u5b57\u6bb5\u540d\u98ce\u683c\uff0c\u6bd4\u5982\u5c0f\u9a7c\u5cf0\uff0c\u86c7\u5f62\u547d\u540d\u7b49 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBEI"},"#I5HBEI"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"INamedServiceProvider")," \u547d\u540d\u670d\u52a1\u63d0\u4f9b\u5668\uff0c\u53ef\u89e3\u6790\u63a5\u53e3\u591a\u5b9e\u73b0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HF98"},"#I5HF98")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8131\u654f\u5904\u7406\u6a21\u5757\u65b9\u6cd5\u53c2\u6570\u5355\u4e2a\u503c\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a22ec3cc3565582eea67052936e788ede8c633cb"},"a22ec3c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8131\u654f\u8bcd\u5e93\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"|")," \u5206\u5272\u8bcd\u8bed ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3106b1d78b27b24f4141f052bf804a201a268ff7"},"3106b1d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET")," \u4f9d\u8d56\u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"6.0.7")," \u7248\u672c"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog.AspNetCore")," \u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"6.0.0")," \u7248\u672c"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5237\u65b0\u903b\u8f91 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GXML"},"#I5GXML")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/574eeb601294378e68c3d57ceaf6cb17f36636e3"},"574eeb6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"ExceptionMetadata")," \u547d\u540d\u7a7a\u95f4\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion.FriendlyException"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3105d168db10bfbe6e83fff2e435ba5d9ef62ed5"},"3105d16")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.Invoke(Func...)")," \u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.InvokeAsync(Func...)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3b7899942bb37423c2c4ed313069fe361aabf682"},"3b78999")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u8131\u654f\u5904\u7406\u6a21\u5757\uff0c\u5927\u5927\u63d0\u9ad8\u6027\u80fd\u548c\u51c6\u786e\u7387\uff0c\u540c\u65f6\u652f\u6301\u65b9\u6cd5\u53c2\u6570\u5355\u4e2a\u503c\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a22ec3cc3565582eea67052936e788ede8c633cb"},"a22ec3c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Rider")," \u5f00\u53d1\u5de5\u5177\u5bf9\u540c\u540d\u811a\u624b\u67b6 (",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar"),") \u53ea\u663e\u793a\u4e00\u4e2a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/518"},"!518")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnitOfWork")," \u5de5\u4f5c\u5355\u5143\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u4e2d\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5H0T3"},"#I5H0T3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5982\u679c\u5b58\u5728\u6570\u7ec4\u7c7b\u578b\u7684\u503c\u65f6\uff0c\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u540e\u4e22\u5931\u4e86\u5386\u53f2\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GXML"},"#I5GXML")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"WithEncodeUrl")," \u65e0\u6cd5\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"[HttpMethod]")," \u8bbe\u7f6e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/574eeb601294378e68c3d57ceaf6cb17f36636e3"},"574eeb6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6a21\u5f0f\u4e0b\u6dfb\u52a0\u81ea\u5b9a\u4e49\u914d\u7f6e\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65e0\u6cd5\u83b7\u53d6\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GZ0F"},"#I5GZ0F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Bah")," \u8fdb\u5165\u5168\u5c40\u5f02\u5e38\u62e6\u622a\u5668\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5H47S"},"#I5H47S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AddDbPool/AddDb")," \u6269\u5c55\u672a\u6839\u636e\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Key")," \u8def\u5f84\u8bfb\u53d6\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5H6S4"},"#I5H6S4")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/520"},"!520")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValiationTypes.Url")," \u6b63\u5219\u8868\u8fbe\u5f0f\u8986\u76d6\u4e0d\u5168\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBKC"},"#I5HBKC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"v3.5.x")," \u7248\u672c\u5bfc\u81f4\u96c6\u6210 ",(0,l.kt)("a",{parentName:"strong",href:"https://github.com/efcore/EFCore.NamingConventions"},"EFCore.NamingConventions")," \u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I5HBEI"},"#I5HBEI"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u957f\u8def\u7531\u4e0d\u652f\u6301\u95ee\u9898\u4ee5\u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"[Required]")," \u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"AllowEmptyStrings")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c0143300329b5a96a2fbd4d92de109f520674d33"},"c014330")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6\u65f6\u8bf7\u6c42\u62a5\u6587 ",(0,l.kt)("inlineCode",{parentName:"li"},"boundary")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Disposition")," \u8bbe\u7f6e\u4e0d\u6b63\u786e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5HEF0"},"#I5HEF0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8131\u654f\u6a21\u5757\u66ff\u6362\u654f\u611f\u8bcd\u6c47\u51fa\u73b0\u591a\u66ff\u6362\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a22ec3cc3565582eea67052936e788ede8c633cb"},"a22ec3c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u591a\u8bed\u8a00\u9ed8\u8ba4\u5904\u7406\u903b\u8f91\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u5141\u8bb8\u4e0d\u914d\u7f6e\u4efb\u4f55\u8bed\u8a00"),"\uff0c\u8fc7\u53bb\u7248\u672c\u4f1a\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5GRD9"},"#I5GRD9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5077c5dab9ee94733817f55ff8224b853d0001a3"},"5077c5d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u6027\u80fd"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8c03\u6574 ",(0,l.kt)("inlineCode",{parentName:"li"},"MongoDB")," \u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"TDocument")," \u6cdb\u578b\u7ea6\u675f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3f49055b6b80ef7861f58b0c6feabf5c87a32010"},"3f49055")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\uff0c\u65e5\u5fd7\u8bb0\u5f55\u6587\u6863\u3001\u591a\u6570\u636e\u5e93\u6587\u6863\u3001PM2 \u90e8\u7f72\u6587\u6863\u3001Visual Studio \u9ad8\u6548\u7387\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v3711\u5df2\u53d1\u5e03"},"v3.7.11\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Minimal API")," \u5e94\u7528\u652f\u6301\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},".AddInjectMini()")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I4KOQ5"},"#I4KOQ5"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8de8\u57df ",(0,l.kt)("inlineCode",{parentName:"li"},"WithExposedHeaders")," \u9ed8\u8ba4\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"access-token")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"x-access-token")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/42ebdfd33a01353a0b3a801528de052990d2e4c9"},"42ebdfd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u811a\u624b\u67b6\u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseHttpLogging()")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HTTP")," \u65e5\u5fd7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/42ebdfd33a01353a0b3a801528de052990d2e4c9"},"42ebdfd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"ASP.NET Core")," \u5b8c\u6574 ",(0,l.kt)("inlineCode",{parentName:"strong"},"json")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON Schema")," \u67b6\u6784 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"},"JSON Schema"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de\u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1d7fb5b5330c5a30098056818a93a0879034fecd"},"1d7fb5b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"ValueTuple")," \u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/876a2f5f7e2d07fa3bbc3f5b99c0653893e0ada8"},"876a2f5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316\u8bbe\u8ba1\u6a21\u5757\uff0c\u652f\u6301\u6bd4 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppStartup")," \u66f4\u7075\u6d3b\u4fbf\u6377\u7684\u8bbe\u8ba1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Components"},"#components")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u72ec\u7acb\u5de5\u4f5c\u5355\u5143\u6a21\u5757\uff0c\u652f\u6301\u4efb\u4f55\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"ORM")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a02413d6887d258ad3a1ba972bb6a08d29291d0c"},"a02413d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8de8\u57df ",(0,l.kt)("inlineCode",{parentName:"li"},"FixedClientToken")," \u914d\u7f6e\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/bd016386681631a5539bcf215c068c2069bba15f"},"bd01638")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"throw Oops.Bah")," \u53ef\u4ee5\u624b\u52a8\u89e6\u53d1\u89c4\u8303\u5316\u9a8c\u8bc1\u5931\u8d25\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83f0036a4ce10c6b1cfc4a258dc61e197af38879"},"83f0036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FriendlyExceptionSettings")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ThrowBah")," \u914d\u7f6e\uff0c\u53ef\u6807\u8bb0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u4e0d\u8fdb\u5165\u5f02\u5e38\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/76ffa7f18d3683ad36e37e5fc90cf54a4b04e520"},"76ffa7f")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Minimal API")," \u5e94\u7528\u652f\u6301\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},".AddInjectMini()")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I4KOQ5"},"#I4KOQ5"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"ASP.NET Core")," \u5b8c\u6574 ",(0,l.kt)("inlineCode",{parentName:"strong"},"json")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON Schema")," \u67b6\u6784 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"},"JSON Schema"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316\u8bbe\u8ba1\u6a21\u5757\uff0c\u652f\u6301\u6bd4 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppStartup")," \u66f4\u7075\u6d3b\u4fbf\u6377\u7684\u8bbe\u8ba1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/Components"},"#components")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u72ec\u7acb\u5de5\u4f5c\u5355\u5143\u5355\u5143\u6a21\u5757\uff0c\u652f\u6301\u4efb\u4f55\u7b2c\u4e09\u65b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"ORM")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a02413d6887d258ad3a1ba972bb6a08d29291d0c"},"a02413d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DataValidationFilter")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"FriendlyExceptionFilter"),"\uff0c\u89e3\u51b3\u4e0d\u652f\u6301\u624b\u52a8\u629b\u51fa\u4e1a\u52a1\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83f0036a4ce10c6b1cfc4a258dc61e197af38879"},"83f0036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},".AddDb<>")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},".AddDbPool<>")," \u81ea\u5b9a\u4e49\u59d4\u6258\u53c2\u6570\u7b7e\u540d\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Action")," \u6539\u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"strong"},"Action")))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,5}",showLineNumbers:!0,"{2,5}":!0},"// \u7531\uff1a\noptions.AddDbPool(DbProvider.MySql, opt => {\n});\n// \u6539\u4e3a\noptions.AddDbPool(DbProvider.MySql, (services, opt)=> {\n})\n")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea ",(0,l.kt)("inlineCode",{parentName:"li"},"v3.6.3")," \u7248\u672c\u4f9d\u8d56\uff0c\u6267\u884c\u539f\u751f ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u6dfb\u52a0\u4e86\u53c2\u6570\u6821\u9a8c\u5bfc\u81f4\u5b58\u50a8\u8fc7\u7a0b\u6267\u884c\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5ERMQ"},"#I5ERMQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"tools/cli.ps1")," \u811a\u672c\u5de5\u5177\u51fa\u73b0\u6570\u636e\u5e93\u94fe\u63a5\u88ab\u5360\u7528\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTSettings")," \u7b97\u6cd5\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u9519\u8bef\u95ee\u9898\uff0c\u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/gitwentao"},"@gitwentao")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5G27B"},"#I5G27B")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/516"},"!516")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u57fa\u4e8e\u7b56\u7565\u6388\u6743\u5728\u4e0d\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Policy")," \u7684\u60c5\u51b5\u4e0b\u51fa\u73b0\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5EVF2"},"#I5EVF2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u542f\u7528\u6570\u636e\u5e93\u5b9e\u4f53\u8ddf\u8e2a\u65f6\u5bfc\u81f4\u65b0\u589e\u5b9e\u4f53\u591a\u6b21\u67e5\u8be2\u6570\u636e\u5e93\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4J2LZ"},"#I4J2LZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e0d\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u5bfc\u81f4\u9a8c\u8bc1\u5931\u6548\uff0c\u5f02\u5e38\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/cdb3f570ab72cff0a5327a717f85c48e153211be"},"cdb3f57")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9a8c\u8bc1\u5f02\u5e38\u548c\u53cb\u597d\u5f02\u5e38\u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/83f0036a4ce10c6b1cfc4a258dc61e197af38879"},"83f0036")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"CentOS 7.9")," \u7cfb\u7edf\u90e8\u7f72\u65e0\u6cd5\u6307\u5b9a\u547d\u4ee4 ",(0,l.kt)("inlineCode",{parentName:"li"},"--urls")," \u53c2\u6570\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8cc8eeff6b5b25de42367884b7c91d419557d054"},"8cc8ee")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u811a\u624b\u67b6\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u6587\u4ef6\uff0c\u9ed8\u8ba4\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u652f\u6301"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7ec4\u4ef6\u5316\u542f\u52a8\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Vue/React/Angular")," \u8bf7\u6c42\u4ee3\u7406\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON Schema")," \u6587\u6863\uff0c\u652f\u6301\u914d\u7f6e\u667a\u80fd\u63d0\u793a\u548c\u9a8c\u8bc1"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8de8\u57df\u6587\u6863\u3001\u89c4\u8303\u5316\u6587\u6863\u3001\u914d\u7f6e\u6587\u6863\u3001\u65e5\u5fd7\u6587\u6863\u3001IIS \u90e8\u7f72\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"strong"},"JSON Schema")," \u652f\u6301\uff0c\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"strong"},".json")," \u6587\u4ef6\u652f\u6301\u667a\u80fd\u63d0\u793a\u548c\u9a8c\u8bc1"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2}",showLineNumbers:!0,"{2}":!0},'{\n "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",\n\n "Logging": {\n "LogLevel": {\n "Default": "Information",\n "Microsoft": "Warning",\n "Microsoft.Hosting.Lifetime": "Information",\n "Microsoft.EntityFrameworkCore": "Information"\n }\n },\n "AllowedHosts": "*"\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/js1.png")}),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"./jsonschema"},"\u67e5\u770b\u66f4\u591a ",(0,l.kt)("inlineCode",{parentName:"a"},"JSON Schema")," \u6587\u6863"))))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u6839\u636e ",(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Vue/React/Angular")," \u524d\u7aef\u8bf7\u6c42\u4ee3\u7801"))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"./clientapi"},"\u67e5\u770b\u6587\u6863"))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de\u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {7-9}",showLineNumbers:!0,"{7-9}":!0},'public interface ISql : ISqlDispatchProxy\n{\n // \u96c6\u5408\u7c7b\u578b\n [SqlExecute("select * from person")]\n List GetPersons();\n\n // \u81ea v3.7.3+ \u7248\u672c\u652f\u6301\u8fd4\u56de\u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570\n [SqlExecute("select * from person where id=@id")]\n Person GetPerson(int id);\n}\n')))),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Sql")," \u4ee3\u7406\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"strong"},"ValueTuple")," \u5355\u4e2a\u7c7b\u7c7b\u578b\u53c2\u6570"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3-6}",showLineNumbers:!0,"{3-6}":!0},'public interface ISql : ISqlDispatchProxy\n{\n [SqlExecute(@"\n select * from person where id =@id;\n select * from person")]\n (Person, List) GetData(int id); // \u6ce8\u610f\u8fd4\u56de\u503c\u662f `(Person, List)` \u7ec4\u5408\n}\n')))),(0,l.kt)("ol",{start:5},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Minimal API")," \u5e94\u7528"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},(0,l.kt)("a",{parentName:"strong",href:"https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0"},"\u4e86\u89e3 ",(0,l.kt)("inlineCode",{parentName:"a"},"Minimal API")," \u5e94\u7528"))),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3-4,10,12-15}",showLineNumbers:!0,"{1,3-4,10,12-15}":!0},'var builder = WebApplication.CreateBuilder(args).Inject();\n\n// \u6ce8\u518c Minimal \u670d\u52a1\nbuilder.Services.AddInjectMini();\n\nvar app = builder.Build();\n\napp.UseHttpsRedirection();\n\napp.UseInject(string.Empty);\n\napp.MapGet("/hello", () =>\n{\n return "Hello, Furion";\n});\n\napp.Run();\n')))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v369\u5df2\u53d1\u5e03"},"v3.6.9\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6781\u7b80\u4e3b\u673a\u6a21\u5f0f\uff0c\u771f\u6b63\u5b9e\u73b0\u6781\u901f\u5165\u95e8\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/95cac5b391b70d73bfc94147ee40eef529b2eec6"},"95cac5b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"TP.Wrapper(...)")," \u62d3\u5c55\u65b9\u6cd5\uff0c\u4e3b\u8981\u7528\u6765\u751f\u6210\u89c4\u8303\u5316\u7684\u65e5\u5fd7\u6a21\u677f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/427999aba4847522ea91c42df6164e5fe69c5bc0"},"427999a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9879\u76ee\u7c7b\u578b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},'')," \u7684\u63a7\u5236\u53f0\u9879\u76ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/fb08a6548d49921aa143d01389a2592b92e94e31"},"fb08a65")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"BadPageResult")," \u9519\u8bef\u9875\u9762\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/494"},"!494")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SchemaId]")," \u7279\u6027\uff0c\u89e3\u51b3\u4e0d\u540c\u7a0b\u5e8f\u96c6\u76f8\u540c\u7684\u7c7b\u540d\u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"SchemaId")," \u51b2\u7a81\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5D3CU"},"#I5D3CU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"options.ApproveAllCerts()")," \u5ffd\u7565\u6240\u6709\u5ba2\u6237\u7aef\u8bc1\u4e66\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/eb7d18ac183894d604cec1d4c8527466ef9c648a"},"eb7d18a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5224\u65ad\u662f\u5426\u662f\u5355\u6587\u4ef6\u73af\u5883\u90e8\u7f72\u9759\u6001\u5c5e\u6027 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.SingleFileEnvironment")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/de556f0aaf87c41fe01cca2655f086890b2638a0"},"de556f0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApplicationBuilder.UseSerilogDefault()")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e02524c8a15fd660b6359285ef07a697878e6678"},"e02524c")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9879\u76ee\u7c7b\u578b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},'')," \u7684\u63a7\u5236\u53f0\u9879\u76ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/fb08a6548d49921aa143d01389a2592b92e94e31"},"fb08a65")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6781\u7b80\u4e3b\u673a\u6a21\u5f0f\uff0c\u771f\u6b63\u5b9e\u73b0\u6781\u901f\u5165\u95e8\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/95cac5b391b70d73bfc94147ee40eef529b2eec6"},"95cac5b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u672a\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65f6\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"BadPageResult()")," \u9875\u9762\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/494"},"!494")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u9ed8\u8ba4\u6ce8\u518c\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddResponseCaching();")," \u670d\u52a1\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},".axd")," \u5185\u5d4c\u8d44\u6e90\u8bf7\u6c42\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/495"},"!495")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u5fc5\u987b\u8981\u6c42\u547d\u4ee4\u53c2\u6570\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u8bed\u8a00\u53c2\u6570\u6570\u91cf\u4e00\u81f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5D057"},"#I5D057")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IHostService")," \u7c7b\u578b\u4e0d\u80fd\u81ea\u52a8\u6ce8\u518c\u95ee\u9898\uff0c\u4e4b\u524d\u53ea\u626b\u63cf\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"BackgroundService")," \u6d3e\u751f\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/968344aa07348f4c06f914abf7b6f46174633d81"},"968344")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u56fd\u4ea7\u82af\u7247\u4e3b\u673a\u4e0d\u80fd\u8bc6\u522b ",(0,l.kt)("inlineCode",{parentName:"li"},"dotnet run --urls")," \u53c2\u6570\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6d43983781e0c41228c4917a242141d011088bdb"},"6d4398")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6\u4e0d\u652f\u6301\u7279\u5b9a\u6587\u4ef6\u540e\u7f00\u95ee\u9898\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},".pem")," \u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ba42198c1cd58612f2b383349c37068aac78cdd7"},"ba42198")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e00\u4e9b\u7a0b\u5e8f\u96c6\u5df2\u7834\u574f\u6216\u7a0b\u5e8f\u96c6\u4e0d\u5b8c\u6574\u5bfc\u81f4\u4e3b\u673a\u65e0\u6cd5\u542f\u52a8\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d2dc3e4d09e726699c38ebb8cb7b83de0e97f46f"},"d2dc3e4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"headers")," \u65f6\u7c7b\u578b\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Dictionary")," \u5bfc\u81f4\u8f6c\u6362\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5DHL9"},"#I5DHL9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog")," \u5355\u6587\u4ef6\u53d1\u5e03\u4e0d\u751f\u6210\u65e5\u5fd7\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5DQ2B"},"I5DQ2B")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8fdc\u7a0b\u8bf7\u6c42\u9ed8\u8ba4\u5ba2\u6237\u7aef\u4e0d\u68c0\u67e5 ",(0,l.kt)("inlineCode",{parentName:"li"},"SSL")," \u8bc1\u4e66 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/eb7d18ac183894d604cec1d4c8527466ef9c648a"},"eb7d18a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5f00\u653e\u9a8c\u8bc1\u670d\u52a1\u9009\u9879 ",(0,l.kt)("inlineCode",{parentName:"li"},"SuppressModelStateInvalidFilter")," \u5c5e\u6027\u4e3a\u53ef\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/495"},"!494")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Serve.Run()")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"TP")," \u5168\u5c40\u9759\u6001\u7c7b\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e2d\u95f4\u4ef6\u6587\u6863\u3001\u7b5b\u9009\u5668\u6587\u6863\u3001\u5ba1\u8ba1\u65e5\u5fd7\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8de8\u57df\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7cbe\u5f69\u8d21\u732e")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/494"},"!494")," \u4f18\u79c0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Pull Request")," \u8fa9\u8bba\u5178\u8303"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u6781\u901f\u5165\u95e8"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:'showLineNumbers title="Program.cs" {3,6}',showLineNumbers:!0,title:'"Program.cs"',"{3,6}":!0},'Serve.Run();\n\n[DynamicApiController]\npublic class HelloService\n{\n public string Say()\n {\n return "Hello, Furion";\n }\n}\n')),(0,l.kt)("p",null,"\u542f\u52a8\u6d4f\u89c8\u5668\u67e5\u770b\u6548\u679c\uff0c\u60ca\u5446\u4e86\u5417\uff01"),(0,l.kt)("img",{src:(0,p.Z)("img/07.png")}))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5185\u7f6e\u9519\u8bef\u9875"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers{1,7}","showLineNumbers{1,7}":!0},"using Furion.FriendlyException;\n\npublic IActionResult Add(Person person)\n{\n if(!ModelState.IsValid)\n {\n return new BadPageResult();\n }\n}\n")),(0,l.kt)("img",{src:(0,p.Z)("img/er1.png")}))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Markdown")))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4-62}",showLineNumbers:!0,"{4-62}":!0},'/// \n/// \u6d4b\u8bd5 Markdown\n/// \n/// \n/// # \u6d4b\u8bd5 `Markdown` \u6ce8\u91ca\n///\n/// ![](https://localhost:44316/images/logo.png)\n///\n/// ```cs\n/// Serve.Run();\n///\n/// [DynamicApiController\n/// public class HelloService\n/// {\n/// public string Say()\n/// {\n/// return nameof(Furion);\n/// }\n/// }\n/// ```\n///\n/// \u529f\u80fd\u8fd8\u4e0d\u9519\uff01\uff01\uff01\n///\n/// | \u5546\u54c1 | \u4ef7\u683c | # \u5176\u4ed6 |\n/// |--------------|-----------|------------|\n/// | Juicy Apples | 1.99 | *7* |\n/// | Bananas | **1.89** | 5234 |\n/// | Bananas | **1.89** | 5234 |\n/// | Bananas | **1.89** | 5234 |\n///\n/// -----\n///\n/// # Furion \u63a2\u7d22\u7248\n///\n/// > \u5728\u8fc7\u53bb\u4e00\u5e74\uff0c\u5b9e\u73b0 `Furion` \u4ece\u65e0\u5230\u6709\uff0c\u7f16\u5199\u6587\u6863\u5df2\u903e\u767e\u4e07\u5b57\uff0c\u8fc7\u7a0b\u5fc3\u9178\u5f00\u6e90\u4eba\u81ea\u77e5\u3002\n/// >\n/// > \u8fd9\u4e00\u8def\u65e5\u591c\u517c\u7a0b\uff0c\u5632\u8bbd\u6279\u8bc4\u5e38\u4f34\u773c\u8033\uff0c\u5373\u4fbf\u8f9b\u82e6\u65e0\u5948\u3001\u60f3\u8fc7\u653e\u5f03\uff0c\u4f46\u4e3a\u4e86\u90a3\u5fae\u4e0d\u8db3\u9053\u7684\u5b58\u5728\u611f\u4f9d\u7136\u52aa\u529b\u7740\u3002\n/// >\n/// > \u5f53\u7136\uff0c\u4e5f\u6536\u83b7\u4e86\u4e0d\u5c11...\u8d8a\u6765\u8d8a\u591a\u62e5\u8db8\u8005\uff0c\u8d8a\u53d1\u7cbe\u6e5b\u6280\u672f\u80fd\u529b\uff0c\u66f4\u9ad8\u5c42\u6b21\u601d\u7ef4\u6a21\u5f0f\uff0c\u8fd8\u6709\u8bb8\u591a\u8de8\u754c\u8de8\u884c\u670b\u53cb\u3002\n/// >\n/// > \u5728 \u300a[\u5f00\u6e90\u6307\u5317] (https://gitee.com/opensource-guide/comments/)\u300b\u4e2d\uff0c\u6211\u66fe\u8bf4\u9053\uff1a\u201c\u5f00\u6e90\u5982\u540c\u4eba\u7684\u8138\uff0c\u597d\u574f\u4e00\u9762\u4fbf\u77e5\uff0c\u7f3a\u70b9\u53ef\u80fd\u4f1a\u53d7\u5230\u5632\u8bbd\u6279\u8bc4\uff0c\u4f18\u70b9\u4e5f\u4f1a\u6536\u83b7\u8d5e\u626c\u5c0a\u91cd\u3002\u522b\u62c5\u5fc3\uff0c\u4ed6\u4eec\u6b63\u5728\u5851\u9020\u66f4\u597d\u7684\u4f60\u3002\u201d\n/// >\n/// > \u6240\u4ee5\uff0c\u8fd9\u4e00\u6b21\u91cd\u65b0\u8d77\u822a\uff0c\u91cd\u5851 `Furion` \u91cd\u5851\u81ea\u5df1\u3002\u4e5f\u8bb8\u672a\u6765\u5728\u67d0\u4e2a IT \u5708\u4f46\u51e1\u6709\u4eba\u8c08\u8d77 `.NET` \u8fd8\u80fd\u779f\u5230 `Furion` \u7684\u8eab\u5f71\u3002\n///\n/// ---\n///\n/// \ud83c\udf89 \u63a2\u7d22 Furion \u672a\u6765\u66f4\u591a\u53ef\u80fd\u6027\uff0c\u5b9e\u73b0\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\u7684\u7248\u672c\uff0c\u6240\u6709\u6a21\u5757\u529f\u80fd\u6309\u9700\u5b89\u88c5\uff0c\u6309\u9700\u52a0\u8f7d\u3002\n///\n/// - \u4f5c\u8005\uff1a[\u767e\u5c0f\u50e7] (https://gitee.com/monksoul)\n/// - \u65e5\u671f\uff1a2021 \u5e74 08 \u6708 30 \u65e5\n///\n/// ## \u73af\u5883\n///\n/// - IDE \uff1a[Microsoft Visual Studio Enterprise 2022 Preview(64 \u4f4d) \u7248\u672c 17.0.0 Preview 3.1] (https://visualstudio.microsoft.com/zh-hans/vs/preview/)\n/// - SDK \uff1a[.NET SDK 6] (https://dotnet.microsoft.com/download/dotnet/6.0)\n/// - \u8bed\u8a00\uff1a[C# 10](https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-10)\n///\n/// ## \u5305\u8bf4\u660e\n///\n/// - `Furion.Core`\uff1a\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\uff0c\u53ef\u5728 `.NET 6` \u6240\u6709\u9879\u76ee\u7c7b\u578b\u4e2d\u8fd0\u884c\u3002\n/// - `Furion`\uff1a\u5185\u90e8\u4f9d\u8d56 `Furion.Core` \u4e14\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\uff0c**\u805a\u7126 `Web` \u5e94\u7528**\uff0c\u91c7\u7528\u5171\u4eab\u6846\u67b6 `` \u6a21\u5f0f\n/// \npublic void MarkdownTest()\n{\n // ....\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/mdx2.png")}))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v357\u5df2\u53d1\u5e03"},"v3.5.7\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Options")," \u9009\u9879\u5c5e\u6027\u652f\u6301\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"Key")," \u540d\u79f0\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},'[MapSettings("key")]')," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5B2HN"},"#I5B2HN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\u4e8b\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Id")," \u652f\u6301\u679a\u4e3e\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2f328aa8213c8efe7a8480116985573cc6b7fce6"},"2f328aa")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\u53d1\u5e03\u8005 ",(0,l.kt)("inlineCode",{parentName:"li"},"PublishAsync")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"PublishDelayAsync")," \u91cd\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2f328aa8213c8efe7a8480116985573cc6b7fce6"},"2f328aa")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\u62d3\u5c55\u65b9\u6cd5\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Enum.ParseToString()")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"String.ParseToEnum()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/2f328aa8213c8efe7a8480116985573cc6b7fce6"},"2f328aa")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"strong"},"SqlSugar")," \u811a\u624b\u67b6")," \ud83c\udd95\ud83c\udd95\ud83c\udd95 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8d9293d1188670626f017ccea4ffb85ac315d2fc"},"8d9293d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u5168\u5c40\u914d\u7f6e\u59d4\u6258 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5AYFX"},"#I5AYFX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u8f6c\u5b9e\u4f53\u652f\u6301\u591a\u79cd\u547d\u540d\u7b56\u7565\uff08\u7eaf\u5927\u5199\uff0c\u7eaf\u5c0f\u5199\uff0c\u5e26\u4e0b\u5212\u7ebf\u5206\u5272\u7b49\u7b49\uff09\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a90e24516387e088b2c427e6b99d3dab937116c9"},"a90e245")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FS.InitalContentTypeProvider()")," \u62d3\u5c55\u65b9\u6cd5\uff0c\u83b7\u53d6\u7cfb\u7edf\u5185\u6240\u6709\u652f\u6301\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u6587\u4ef6\u63d0\u4f9b\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6099900472d93dab7012f0b091b05c914be11c4a"},"6099900")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f7b\u5e95\u89e3\u51b3\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u4e0d\u80fd\u5355\u6587\u4ef6\u53d1\u5e03\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7e8e0b708bcdac670aa835dec5cd494d41ff3648"},"7e8e0b7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller")," \u6d3e\u751f\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"api")," \u8def\u7531\u95ee\u9898\uff0c\u539f\u751f ",(0,l.kt)("inlineCode",{parentName:"li"},"ASP.NET")," \u662f\u652f\u6301\u7684 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/29e47bce3678767c4793ad254777704ab9dd7e03"},"29e47bc")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u57fa\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u591a\u79df\u6237\u914d\u7f6e\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f820ce0f28dd27a6e265b969b5b4095de676106"},"6f820ce")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6307\u5b9a\u5b9e\u4f53 ",(0,l.kt)("inlineCode",{parentName:"li"},'[Table(schema:"dbo")]')," \u7279\u6027\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f820ce0f28dd27a6e265b969b5b4095de676106"},"6f820ce")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u89c6\u56fe\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u914d\u7f6e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6f820ce0f28dd27a6e265b969b5b4095de676106"},"6f820ce")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u6781\u7aef\u60c5\u51b5\u4e0b\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7a7a\u5f02\u5e38")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c9b0ef09427418e2ccb88d3a4c02e7a29d9d510e"},"c9b0ef")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"axios-utils.ts")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"angular-utils.ts")," \uff0c\u65b0\u589e\u8bf7\u6c42\u62e6\u622a\u643a\u5e26\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u7684\u65f6\u673a\u5224\u65ad ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/82f89bd95573aefa7075676af7f00c55507cb03b"},"82f89bd")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u52a0\u8f7d\u7ee7\u627f\u6ce8\u91ca ",(0,l.kt)("inlineCode",{parentName:"li"},"")," \u6027\u80fd\u5c0f\u4f18\u5316 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/5f06880564ee8cd2e77caa5957ff18a0c489bdd2"},"5f06880")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u811a\u624b\u67b6\u6a21\u677f\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings.cs")," \u6a21\u5f0f"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5bf9\u8c61\u6620\u5c04\u9ed8\u8ba4\u652f\u6301\u5ffd\u7565\u5927\u5c0f\u5199 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/486"},"!486")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5355\u6587\u4ef6\u53d1\u5e03\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion + SqlSugar")," \u811a\u624b\u67b6\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e8b\u4ef6\u603b\u7ebf\u6587\u6863\u3001\u9009\u9879\u6587\u6863\u3001\u5373\u65f6\u901a\u8baf\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},".NET5")," \u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u6587\u6863\u3001\u4f9d\u8d56\u6ce8\u5165\u6587\u6863\u3001\u8de8\u57df\u6587\u6863\u3001\u6570\u636e\u52a0\u89e3\u5bc6\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf ",(0,l.kt)("inlineCode",{parentName:"strong"},"Id")," \u652f\u6301\u679a\u4e3e\u7c7b\u578b"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {7,10}",showLineNumbers:!0,"{7,10}":!0},'EventSubscribe("TO:DO")] // \u5b57\u7b26\u4e32\u7c7b\u578b\npublic async Task EventHandler1(EventHandlerExecutingContext context)\n{\n // ....\n}\n\n[EventSubscribe(YourEnum.Some)] // \u679a\u4e3e\u7c7b\u578b\npublic async Task EventHandler2(EventHandlerExecutingContext context)\n{\n var eventEnum = context.Source.EventId.ParseToEnum(); // \u5c06\u4e8b\u4ef6 Id \u8f6c\u6362\u6210\u679a\u4e3e\u5bf9\u8c61\n // ....\n}\n')))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u4e8b\u4ef6\u603b\u7ebf\u53d1\u5e03\u652f\u6301\u66f4\u7b80\u5355\u8c03\u7528"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,6}",showLineNumbers:!0,"{5,6}":!0},'// \u65e7\u7248\u672c\nawait _eventPublisher.PublishAsync(new ChannelEventSource("ToDo:Create", name));\n\n// \u65b0\u7248\u672c\nawait _eventPublisher.PublishAsync("ToDo:Create", name);\nawait _eventPublisher.PublishAsync(YourEnum.Some); // \u4e5f\u652f\u6301\u679a\u4e3e\n')))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u9009\u9879\u652f\u6301\u5c5e\u6027\u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"strong"},"Key")))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {4}",showLineNumbers:!0,"{4}":!0},'"AppInfo": {\n "Name": "Furion",\n "Version": "1.0.0",\n "Company_Name": "Baiqian" // \u53ef\u4ee5\u548c\u5c5e\u6027\u4e0d\u4e00\u6837\n}\n')),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {6,7}",showLineNumbers:!0,"{6,7}":!0},'public class AppInfoOptions : IConfigurableOptions\n{\n public string Name { get; set; }\n public string Version { get; set; }\n\n [MapSettings("Company_Name")] // \u652f\u6301\u81ea\u5b9a\u4e49\n public string Company { get; set; }\n}\n')))),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u65e5\u5fd7\u89c4\u8303\u5316\u6a21\u677f"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2}",showLineNumbers:!0,"{2}":!0},'// \u751f\u6210\u6a21\u677f\u5b57\u7b26\u4e32\nvar template = TP.Wrapper("Furion \u6846\u67b6", "\u8ba9 .NET \u5f00\u53d1\u66f4\u7b80\u5355\uff0c\u66f4\u901a\u7528\uff0c\u66f4\u6d41\u884c\u3002",\n "[\u4f5c\u8005] \u767e\u5c0f\u50e7",\n "[\u5f53\u524d\u7248\u672c] v3.5.3",\n "[\u6587\u6863\u5730\u5740] https://furion.icu",\n "[Copyright] \u767e\u5c0f\u50e7, Baiqian Co.,Ltd.");\nConsole.WriteLine(template);\n')),(0,l.kt)("p",null,"\u8f93\u51fa\u7ed3\u679c"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Furion \u6846\u67b6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\u2523 \u8ba9 .NET \u5f00\u53d1\u66f4\u7b80\u5355\uff0c\u66f4\u901a\u7528\uff0c\u66f4\u6d41\u884c\u3002\n\u2523\n\u2523 \u4f5c\u8005\uff1a \u767e\u5c0f\u50e7\n\u2523 \u5f53\u524d\u7248\u672c\uff1a v3.5.3\n\u2523 \u6587\u6863\u5730\u5740\uff1a https://furion.icu\n\u2523 Copyright\uff1a \u767e\u5c0f\u50e7, Baiqian Co.,Ltd.\n\u2517\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 Furion \u6846\u67b6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\n")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v342\u5df2\u53d1\u5e03"},"v3.4.2\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},"EnableAllGroups")," \u529f\u80fd\uff0c\u53ef\u4ee5\u5c06\u591a\u4e2a\u5206\u7ec4\u5408\u5e76\u5230\u4e00\u4e2a\u5206\u7ec4\u4e2d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9277b982ce024bac8ab5117ba02c3bd96ad07972"},"9277b98")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"angular-utils")," \u5ba2\u6237\u7aef\u5de5\u5177\u5e93\uff0c\u4e13\u95e8\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"angular")," \u9879\u76ee\u63a5\u53e3\u4ee3\u7406\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6c705848a77fbf7234070d0ef9f053a85cc8838a"},"6c70584")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u652f\u6301\u5355\u4e2a\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0\u529f\u80fd\uff08\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"html"),"\uff09",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e5e1db09710dab02966330063935bd5e5b7e4dc8"},"e5e1db0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Obsolete]")," \u8fc7\u65f6\u652f\u6301\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e5e1db09710dab02966330063935bd5e5b7e4dc8"},"e5e1db0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"API")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiDescriptionSettings]")," \u7279\u6027 \u548c",(0,l.kt)("inlineCode",{parentName:"li"},"DynamicApiControllerSettings")," \u914d\u7f6e \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ForceWithRoutePrefix")," \u53c2\u6570\uff0c\u652f\u6301\u5f3a\u5236\u590d\u5199 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Route]")," \u7279\u6027\u5e76\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"DefaultRoutePrefix")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59B74"},"#I59B74")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u9ed8\u8ba4\u5185\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"GBK"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Windows-1252"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"Shift-JIS"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"GB2312")," \u7b49\u7f16\u7801\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c456ecb225b099e5d24add32024f16c359414532"},"c456ecb")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u811a\u624b\u67b6"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"")," \u4e0d\u80fd\u8de8\u7a0b\u5e8f\u96c6\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3b9d39ce691f9505c5541a790103fbb0ba6d35af"},"3b9d39c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"")," \u4e0d\u652f\u6301\u5e26\u53c2\u6570\uff0c\u4e0d\u652f\u6301\u9690\u5f0f\u5b9e\u73b0\u63a5\u53e3\u6ce8\u91ca\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59A6W#note_10699021_link"},"#I59A6W#note_10699021")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"v3.3.1")," \u7248\u672c\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u80fd\u663e\u793a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/676335264478d68b99db009d32b65de781702605"},"6763352")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"JSON"),"\u4ee5\u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"Web")," \u9875\u9762\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"GBK"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"GB2312")," \u7b49\u56fd\u6807\u7f16\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c456ecb225b099e5d24add32024f16c359414532"},"c456ecb")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u54cd\u5e94\u62a5\u6587\u8bbe\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type:charset=")," \u4e0d\u80fd\u81ea\u52a8\u8f6c\u6362\u7f16\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c456ecb225b099e5d24add32024f16c359414532"},"c456ecb")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"axios-utils.ts")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"angular-utils.ts")," \u591a\u5ba2\u6237\u7aef\u652f\u6301"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings")," \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/blog/global-usings"},"\u6587\u6863\u5730\u5740")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8bf7\u6c42\u5927\u5c0f/\u4e0a\u4f20\u5927\u5c0f\u9650\u5236\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/docs/file-provider/#317-%E8%AF%B7%E6%B1%82%E5%A4%A7%E5%B0%8F%E6%8E%A7%E5%88%B6%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E6%8E%A7%E5%88%B6"},"\u6587\u6863\u5730\u5740")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c4\u8303\u5316\u6587\u6863\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u6587\u6863\uff0c\u52a8\u6001 API \u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"All Groups")," \u5206\u7ec4\u529f\u80fd"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u4e3a\u4e86\u66f4\u597d\u7684\u5bf9\u63a5\u53e3\u8fdb\u884c\u5f52\u7c7b\uff0c\u914d\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"Swagger")," \u591a\u4e2a\u5206\u7ec4\u7684\u529f\u80fd\uff0c\u4f46\u8fd9\u6837\u4e5f\u5bf9\u751f\u6210\u5ba2\u6237\u7aef\u8bf7\u6c42\u4ee3\u7801\u9020\u6210\u4e86\u56f0\u6270\uff0c\u6240\u4ee5\u6dfb\u52a0\u4e86\u65b0\u7684\u914d\u7f6e\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-3}",showLineNumbers:!0,"{2-3}":!0},'{\n "SpecificationDocumentSettings": {\n "EnableAllGroups": true\n }\n}\n')))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u63a5\u53e3\u8fc7\u65f6\u63a7\u5236"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u5f53\u6211\u4eec\u67d0\u4e2a\u63a5\u53e3\u5df2\u7ecf\u8fc7\u65f6\uff0c\u63d0\u793a\u5c3d\u65e9\u8c03\u7528\u6700\u65b0\u63a5\u53e3\uff0c\u53ea\u9700\u8981\u5728\u65b9\u6cd5\u4e0a\u9762\u8d34 ",(0,l.kt)("inlineCode",{parentName:"p"},"[Obsolete]")," \u5373\u53ef\uff0c\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},'[Obsolete("GetName() \u5df2\u7ecf\u8fc7\u65f6\uff0c\u8bf7\u8c03\u7528 GetFrameworkName() \u66ff\u4ee3")]\npublic string GetName()\n{\n return nameof(Furion);\n}\n\n[Obsolete]\npublic string Other()\n{\n // ...\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/swg2.png")}))),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("p",null,"\u5728\u8be5\u7248\u672c\u65b0\u589e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"[ApiDescriptionSettings]")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"Description")," \u5c5e\u6027\uff0c\u652f\u6301\u5b9a\u4e49\u66f4\u591a\u63cf\u8ff0\uff0c\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'[ApiDescriptionSettings(Description = "\u6211\u662f\u4e00\u6bb5\u63cf\u8ff0\uff0c\u663e\u793a\u66f4\u591a\u5185\u5bb9 ")]\npublic string add()\n{\n //....\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/swg1.png")}))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v333\u5df2\u53d1\u5e03"},"v3.3.3\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u4ef6\u4e0a\u4f20\u81ea\u52a8\u8bc6\u522b ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Mime")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I57ZMN"},"#I57ZMN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u65b9\u6cd5\u652f\u6301\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Encoding")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I57ZMN"},"#I57ZMN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6839\u636e\u6587\u4ef6\u540d\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Mime")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/8f78184f8661830744592c054b65d503346c1b27"},"#8f78184")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863\u652f\u6301\u6388\u6743\u8bbf\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/32aa3b6328d23a5885033837883c7b546e898d43"},"#32aa3b6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4ee3\u7801\u6ce8\u91ca\uff0c\u89c4\u8303\u5316\u6587\u6863\u6ce8\u91ca ",(0,l.kt)("inlineCode",{parentName:"li"},"inheritdoc")," \u8bed\u6cd5\u652f\u6301 \u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59A6W"},"#159A6W")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"Vue2/3"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"React 16.8+"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Angular 9+")," \u524d\u7aef\u8bf7\u6c42\u5de5\u5177\u5e93\uff0c\u5b9e\u73b0\u540e\u7aef API \u4ee3\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/clients/axios"},"axios-utils")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4ee3\u7801\u6ce8\u91ca\uff0c\u89c4\u8303\u5316\u6587\u6863\u6ce8\u91ca ",(0,l.kt)("inlineCode",{parentName:"li"},"inheritdoc")," \u8bed\u6cd5\u652f\u6301 \u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I59A6W"},"#159A6W")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET")," \u6240\u6709\u4f9d\u8d56\u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"v6.0.5")," \u7248\u672c"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38 ",(0,l.kt)("inlineCode",{parentName:"li"},"Exception")," \u540e\u5bfc\u81f4\u83b7\u53d6\u9519\u8bef\u884c\u53f7\uff0c\u6587\u4ef6\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I53EGM"},"#I53EGM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u914d\u7f6e\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4f20\u9012\u7a7a\u59d4\u6258\u5bfc\u81f4\u7a7a\u5f15\u7528\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I519AW"},"#I519AW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b57\u7b26\u4e32\u6a21\u677f\u6a21\u677f ",(0,l.kt)("inlineCode",{parentName:"li"},"Render")," \u62d3\u5c55\u65b9\u6cd5\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"void")," \u95ee\u9898\uff0c\u5e94\u8be5\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"string")," ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/MonkSoul/Furion/issues/99#issuecomment-1073131906"},"Github-#99")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u4ef6\u4e0a\u4f20\u51fa\u73b0\u7a7a\u60c5\u51b5\u95ee\u9898\uff08\u539f\u56e0\u662f\u7f3a\u5931 ",(0,l.kt)("inlineCode",{parentName:"li"},"Content-Type")," \uff09",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I57ZMN"},"I57ZMN")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6846\u67b6\u6e90\u7801\u5f15\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"GlobalUsings")," \u673a\u5236\uff0c\u51cf\u5c11\u4ee3\u7801\u4f53\u79ef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/7e9cc1c205750906cddd540ad08a4c02f14efa3a"},"#7e9cc1c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8de8\u57df\u8bf7\u6c42\u7684\u9884\u68c0\u8bbe\u7f6e\uff0c\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5219\u9ed8\u8ba4\u4e3a 24 \u5c0f\u65f6\uff0c\u4e3b\u8981\u89e3\u51b3\u524d\u7aef\u591a\u6b21\u53d1\u9001 204 \u9884\u68c0\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a11e7c9fa20b4419ac00f6ad21c078500d00791"},"4a11e7c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c6\u56fe\u5f15\u64ce\u53cd\u5c04\u6027\u80fd"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7c98\u571f\u5bf9\u8c61\u5e8f\u5217\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u914d\u7f6e\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u524d\u7aef\u89e3\u5bc6 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"byte[]")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"url")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u90e8\u7f72\u6587\u6863\uff0c\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\uff0c\u6587\u4ef6\u4e0a\u4f20\u6587\u6863\uff0c\u5b89\u5168\u6388\u6743\u6587\u6863\u3001\u89c4\u8303\u5316\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("strong",{parentName:"li"},"\u6839\u636e\u6587\u4ef6\u540d\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"MIME")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Content-Type")," \u7c7b\u578b"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'var success = FS.TryGetContentType("image.png", out var contentType); // image/png\n')),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u914d\u7f6e\u767b\u5f55\u540e\u624d\u80fd\u8bbf\u95ee"))),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-6}",showLineNumbers:!0,"{2-6}":!0},'{\n "SpecificationDocumentSettings": {\n "LoginInfo": {\n "Enabled": true,\n "CheckUrl": "\u68c0\u67e5\u767b\u5f55\u5730\u5740",\n "SubmitUrl": "\u63d0\u4ea4\u767b\u5f55\u5730\u5740"\n }\n }\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/swgdl.png")}),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"./specification-document#6529-%E5%B8%A6%E7%99%BB%E5%BD%95%E7%9A%84-swagger-%E6%96%87%E6%A1%A3"},"\u67e5\u770b\u8be6\u7ec6\u6587\u6863")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u2764\ufe0f\ufe0f\ufe0f\ufe0f ",(0,l.kt)("strong",{parentName:"li"},"\u652f\u6301\u4ee3\u7801\u6ce8\u91ca\u7ee7\u627f\uff0cSwagger \u6587\u6863\u6ce8\u91ca\u4e5f\u652f\u6301"))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,4,10}",showLineNumbers:!0,"{1,4,10}":!0},'/// \npublic class TestInheritdoc : ITestInheritdoc, IDynamicApiController\n{\n /// \n public string GetName()\n {\n return "Furion";\n }\n\n /// \n public string GetVersion()\n {\n return "3.3.3";\n }\n}\n\n/// \n/// \u6d4b\u8bd5\u6ce8\u91ca\u7ee7\u627f\n/// \npublic interface ITestInheritdoc\n{\n /// \n /// \u83b7\u53d6\u540d\u79f0\n /// \n /// \n string GetName();\n\n /// \n /// \u83b7\u53d6\u7248\u672c\n /// \n /// \n string GetVersion();\n}\n')),(0,l.kt)("img",{src:(0,p.Z)("img/cdr22.png")}),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"./specification-document#6530-inheritdoc-%E5%AE%9E%E7%8E%B0%E6%B3%A8%E9%87%8A%E7%BB%A7%E6%89%BF"},"\u67e5\u770b\u8be6\u7ec6\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v320\u5df2\u53d1\u5e03"},"v3.2.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IFormFile")," \u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"ToByteArray()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/da69640da2331e2c8582b88bbda965c5ad7ecbe0"},"da69640")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863 ",(0,l.kt)("inlineCode",{parentName:"li"},"ServeDir")," \u865a\u62df\u76ee\u5f55\u914d\u7f6e\u529f\u80fd\uff0c\u652f\u6301\u4e00\u952e\u5c06\u4e00\u7ea7\u76ee\u5f55\u5207\u6362\u81f3\u4e8c\u7ea7\u76ee\u5f55\u90e8\u7f72\uff08IIS\uff09",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/87183921ac8b6f9856db01b4de679b858a58e753"},"8718392")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6240\u6709\u4f9d\u8d56\u5305\u81f3\u6700\u65b0\u7248"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u4f9d\u8d56\u6ce8\u5165\u6a21\u5757\u6838\u5fc3\u4ee3\u7801\uff0c\u79fb\u9664\u6ce8\u518c\u670d\u52a1\u91c7\u7528\u53cd\u5c04\u673a\u5236\uff0c\u51cf\u5c11\u53cd\u5c04\u6027\u80fd\u635f\u8017 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/acdb3157af92891610a1ba6d317b6af3f09e233f"},"acdb315")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"schema")," \u7c7b\u578b\u5982\u679c\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"C# Object")," \u7c7b\u578b\u65e0\u6cd5\u6b63\u786e\u751f\u6210\u524d\u7aef\u4ee3\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/swagger-api/swagger-codegen-generators/issues/692"},"Swagger \u5b98\u65b9 Issue")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/1a252747fd60fc87a8ed4425c8edf7803f96ce43"},"1a25274")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u53d1\u5e03\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Windows Services")," \u65f6\u65e5\u5fd7\u7edd\u5bf9\u8def\u5f84\u95ee\u9898 \u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/jacoat"},"@jacoat")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/467"},"!467")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Nginx")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"IIS")," \u5bf9\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u914d\u7f6e\u4e0d\u540c\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/87183921ac8b6f9856db01b4de679b858a58e753"},"8718392")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u6a21\u5757\u672a\u521d\u59cb\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnRequestFailded")," \u5bfc\u81f4\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I54PK7"},"#I54PK7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165\u53cd\u5c04\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Not found Method")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I546L1"},"#I546L1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5b9a\u65f6\u4efb\u52a1\u5931\u8d25\u540e\u5f02\u5e38\u5904\u7406\u903b\u8f91\uff0c\u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/cxs1992"},"@\u7a0b\u5c0f\u80dc")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/463"},"!463")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5b9a\u65f6\u4efb\u52a1\u6587\u6863\uff0c\u65e5\u5fd7\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6587\u4ef6\u4e0a\u4f20/\u4e0b\u8f7d \u6587\u6863\uff0c\u5305\u542b\u5355\u6587\u4ef6/\u591a\u6587\u4ef6/Base64/Byte[]")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v310\u5df2\u53d1\u5e03"},"v3.1.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u6a21\u5757\u5f02\u5e38 ",(0,l.kt)("inlineCode",{parentName:"li"},"Http")," \u72b6\u6001\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/462"},"!462")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u652f\u6301\u5c0f\u9a7c\u5cf0\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4W1R4"},"#I4W1R4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"SendAsByteArrayAsync")," \u7b49\u4e00\u7cfb\u5217\u65b9\u6cd5\uff0c\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"byte[]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/452"},"!452")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"GZip")," \u538b\u7f29\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I506S5"},"#I506S5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u4f9d\u8d56\u5305\u5168\u90e8\u5347\u7ea7\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"Nuget")," \u6700\u65b0\u7248 ",(0,l.kt)("inlineCode",{parentName:"li"},"v6.0.3")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6 WebApplication")," \u6a21\u5f0f\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4UZLM"},"#I4UZLM")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4PZ0C"},"#I4PZ0C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65e5\u671f\u9a8c\u8bc1\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"2022-03-01 0:00:00"),"\uff08\u73b0\u5728\u652f\u6301\u5c0f\u65f6\u57df ",(0,l.kt)("inlineCode",{parentName:"li"},"0")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"00"),"\uff09 \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4Y3NT"},"#I4Y3NT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u73af\u5883\u914d\u7f6e\u548c\u6587\u4ef6\u914d\u7f6e\u4f18\u5148\u7ea7\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8131\u654f\u6a21\u5757\u66ff\u6362\u654f\u611f\u8bcd\u6c47\u53ea\u66ff\u6362\u6700\u540e\u4e00\u4e2a bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4YFA0"},"#I4YFA0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u8fd4\u56de\u5b57\u7b26\u4e32\u4e2a\u522b\u60c5\u51b5\u51fa\u73b0\u4e2d\u6587\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I50GBD"},"#I50GBD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidate]")," \u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"AllowNullValue")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"AllowEmptyString")," \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ZZBE"},"#I4ZZBE")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"[\u8fc7\u65f6]"," \u6807\u8bb0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u5305 ",(0,l.kt)("inlineCode",{parentName:"li"},"IWebHost")," \u62d3\u5c55\u4e3a\u8fc7\u65f6\u72b6\u6001"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u4f18\u5316\u6587\u6863\u4f53\u9a8c\uff0c\u65b0\u589e\u9762\u5305\u5c51\u5bfc\u822a\uff0c\u91cd\u5199\u6587\u6863\u7f13\u5b58\uff0c\u63d0\u5347\u6587\u6863\u8bbf\u95ee\u901f\u5ea6"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u66f4\u65b0\u52a8\u6001 API \u6587\u6863\u3001\u914d\u7f6e\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u66f4\u65b0\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u672c\u671f\u4eae\u70b9")))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u65b0\u589e\u52a8\u6001 ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApi")," \u652f\u6301\u5c0f\u9a7c\u5cf0\u8def\u5f84\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"GetMyName")," -> ",(0,l.kt)("inlineCode",{parentName:"li"},"getMyName"),"\uff1a")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "DynamicApiControllerSettings": {\n "LowercaseRoute": false,\n "KeepName": true,\n "AsLowerCamelCase": true\n }\n}\n')))),(0,l.kt)("ol",{start:2},(0,l.kt)("li",{parentName:"ol"},"\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6 WebApplication")," \u6a21\u5f0f\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u914d\u7f6e\uff1a")),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:'showLineNumbers {title="Progame.cs"}',showLineNumbers:!0,"":!0,"{title":'"Progame.cs"}'},"app.UseVirtualPath(app =>\n{\n app.UseInject(String.Empty); // \u6ce8\u610f String.Empty \u53ea\u662f\u4f8b\u5b50\uff0c\u53ef\u4ee5\u4e0d\u586b\u6216\u586b\u5176\u4ed6\u7684\uff0c\u89c1\u4e00\u5206\u949f\u5165\u95e8\n app.MapRouteControllers();\n});\n")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v300\u5df2\u53d1\u5e03"},"v3.0.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"v3+ \u7248\u672c\u8bf4\u660e",type:"warning"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"Furion v3.x \u7248\u672c\u91c7\u7528 .NET6 \u6784\u5efa\u3002"))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"GET")," \u8bf7\u6c42\u81ea\u52a8\u8f6c\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7c7b\u7c7b\u578b")," \u7c7b\u578b\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4HR5Q"},"#I4HR5Q")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u5168\u9762\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u7248\u672c"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f00\u542f\u89c4\u8303\u5316\u7ed3\u679c\u5e76\u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38\u5bfc\u81f4\u5f02\u5e38\u7ecf\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnSucceeded")," \u8fc7\u6ee4\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4DTVL"},"#I4DTVL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET5.0.5+")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".NET6")," \u5fae\u8f6f\u5e95\u5c42\u4fee\u6539\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiController]")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"IActionResult")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ISOK"},"#I4ISOK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore 6.0")," \u9002\u914d ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlServer 2005+")," \u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ILA5"},"#I4ILA5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," .NET6 \u83b7\u53d6\u914d\u7f6e\u5bf9\u8c61\u5982\u679c\u4e0d\u5b58\u5728\u8fd4\u56de null \u95ee\u9898\uff0c.NET5 \u5219\u8fd4\u56de\u521d\u59cb\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/94ae4d8c9b0fe7eb4d713a171f953c0d3c5a76ac"},"94ae4d")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u547d\u4ee4\u53c2\u6570\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c7b\u578b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4D21Q"},"#I4D21Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Cron")," \u5b9a\u65f6\u4efb\u52a1\u7279\u6027\u65b9\u5f0f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4OJQI"},"#I4OJQI")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"ToPagedList")," \u6cdb\u578b\u7ea6\u675f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d0244dc33a0e5236158cdcdff21d086e00a42ee7"},"d0244d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u67e5\u770b ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"https://furion.baiqian.ltd/docs/get-start-net6"},".NET6 \u4e00\u5206\u949f\u5165\u95e8"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u67e5\u770b ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"https://furion.baiqian.ltd/docs/net5-to-net6"},"Furion v2 \u5347\u7ea7 v3"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7279\u522b\u9e23\u8c22")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/KaneLeung"},"KaneLeung"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v220\u5df2\u53d1\u5e03"},"v2.20\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("admonition",{title:"v2.20+ \u7248\u672c\u8bf4\u660e",type:"warning"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"\u5728 ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion v2.20+")," \u7248\u672c\u540e\u91c7\u7528 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Jaina"},"Jaina")," \u4e8b\u4ef6\u603b\u7ebf\u66ff\u6362\u539f\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"EventBus")))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"GET")," \u8bf7\u6c42\u81ea\u52a8\u8f6c\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7c7b\u7c7b\u578b")," \u7c7b\u578b\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4HR5Q"},"#I4HR5Q")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EventBus")," \u6a21\u5757\uff0c\u91c7\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Jaina"},"Jaina")," \u65b9\u5f0f"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f00\u542f\u89c4\u8303\u5316\u7ed3\u679c\u5e76\u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38\u5bfc\u81f4\u5f02\u5e38\u7ecf\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnSucceeded")," \u8fc7\u6ee4\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4DTVL"},"#I4DTVL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET5.0.5+")," \u5fae\u8f6f\u5e95\u5c42\u4fee\u6539\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiController]")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"IActionResult")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4ISOK"},"#I4ISOK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4e0a\u4f20\u6587\u4ef6\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0c0752c624799d7d3c7661a8f36a93983399bb59"},"0c0752")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u542f\u52a8\u4e0d\u652f\u6301\u73af\u5883\u53d8\u91cf ",(0,l.kt)("inlineCode",{parentName:"li"},"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES")," \u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/438"},"!438")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u5185\u5b58\u548c CPU \u5360\u7528\u53ca\u7279\u6b8a\u60c5\u51b5\u4e0b\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/12c65debf552c57780679e6a567a9dd9fb077f46"},"12c65de")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9ed8\u8ba4\u63a7\u5236\u5668\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65e0\u6548 bug",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c7a4a5ef8c3282d245cbe04124cf379d381d496f"},"c7a4a5e")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"InjectionAttribute")," \u7279\u6027\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ExceptInterfaces")," \u5355\u8bcd\u62fc\u5199\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/436"},"!436")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u547d\u4ee4\u53c2\u6570\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c7b\u578b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4D21Q"},"#I4D21Q")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InjectionAttribute")," \u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/435"},"!435")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"ToPagedList")," \u6cdb\u578b\u7ea6\u675f")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d0244dc33a0e5236158cdcdff21d086e00a42ee7"},"d0244d")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u65b0\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v219\u5df2\u53d1\u5e03"},"v2.19\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1\u76d1\u542c\u5668 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeListener")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I468Q1"},"#I468Q1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonElement")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/61985d6a300485d553cbe8461b01f01bcd0936ef"},"61985d6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u914d\u7f6e\u679a\u4e3e\u53ca\u6807\u7b7e\u6392\u5e8f\u8fc7\u6ee4\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46LON"},"#I46LON")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/404"},"!404")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/octet-stream")," \u7c7b\u578b\u9ed8\u8ba4\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d9bad0320cc4a204e24bc3a070517ebce4cdc5d7"},"d9bad03")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u4ee3\u7406\u6a21\u5f0f\u8bf7\u6c42\u62a5\u6587\u5934\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDictionary")," \u7c7b\u578b\u3002",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0204c0afe2de5c28ebbd44b29131e701b93ae8b8"},"0204c0a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MongoDB")," \u62d3\u5c55\u7c7b\uff0c\u6dfb\u52a0\u66f4\u591a\u5e38\u7528\u64cd\u4f5c\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/423"},"!423")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset?")," \u8f6c\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime")," \u62d3\u5c55\uff08\u5305\u542b\u4e92\u6362\uff09 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/432"},"!432")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u8fdb\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u65f6\u5019\u62a5\u7a7a\u5f02\u5e38\u95ee\u9898\uff0c\u539f\u56e0\u662f\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"PM")," \u73af\u5883\u4e2d\u4e0d\u5b58\u5728\u6839\u670d\u52a1",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/0853e74de90718fce9c0892e2ee4da597f62a918"},"0853e74")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u5f02\u5e38\u540e\u5f02\u5e38\u4e00\u76f4\u9a7b\u7559\u5185\u5b58\u95ee\u9898\uff0c\u4fee\u6b63\u4e3a\u6267\u884c\u6210\u529f\u81ea\u52a8\u6e05\u7a7a\u8fc7\u53bb\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/197a62bb4a7df34eb2c0dbda65121e9cf00d905c"},"197a62b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Jwt")," \u62d3\u5c55\u5305\u4e0d\u6b63\u786e\u7684\u4ee3\u7801\u5bfc\u81f4 IOptions \u5931\u6548",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46LUP"},"#I46LUP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u679a\u4e3e ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u8fc7\u6ee4\u5668\u4e0d\u8f93\u51fa\u503c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46LON"},"#I46LON")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/404"},"!404")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5904\u7406\u975e ",(0,l.kt)("inlineCode",{parentName:"li"},"int")," \u7c7b\u578b\u679a\u4e3e\u8f6c\u6362 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I46QJ9"},"#I46QJ9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c6\u56fe\u5f15\u64ce\u7f16\u8bd1\u6a21\u677f\u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"dll")," \u540e\u518d\u6b21\u52a0\u8f7d\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"IL")," \u683c\u5f0f\u5316\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/ff52d383718b4d34968619f17c9d54d8718b4f3f"},"ff52d38")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7ba1\u9053 ",(0,l.kt)("inlineCode",{parentName:"li"},"Channel")," \u8bfb\u53d6\u5668\u65e0\u6cd5\u91ca\u653e ",(0,l.kt)("inlineCode",{parentName:"li"},"Handler")," \u5bf9\u8c61\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/10f4a900ee558a29f40ae21366a0eba83eceb3eb"},"10f4a90")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u4e0b\u65e5\u5fd7\u4e0d\u8f93\u51fa\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/c48254822c09092906ef77f04d54497e27665a92"},"c482548")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"multipart/form-data")," \u7c7b\u578b\u5bf9\u63a5\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u4e0a\u4f20\u6587\u4ef6 \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d9bad0320cc4a204e24bc3a070517ebce4cdc5d7"},"d9bad03")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5de5\u4f5c\u5355\u5143\u4e0a\u4e0b\u6587\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u5171\u4eab\u4e8b\u52a1\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/006d439de3357d4d58ea6d7d3f9d51771a7b604e"},"006d439")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u679a\u4e3e\u503c\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"GET")," \u8bf7\u6c42\u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"Schema")," \u663e\u793a\u4e0d\u6b63\u786e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/fb72fd7c98de5bf2246dd1bf08200152bd7ab7a0"},"fb72fd7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u4e0d\u8d70\u5f02\u5e38\u8fc7\u6ee4\u5668\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/423"},"!426")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u4e8b\u4ef6\u603b\u7ebf\u5e76\u53d1\u60c5\u51b5\u4e0b\u8c03\u7528\u5b8c\u6210\u540e\u65e0\u6cd5\u6b63\u786e\u5904\u7406\u961f\u5217\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/429"},"!429")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"v2.19+")," \u7248\u672c\u4e4b\u540e\u6a21\u5757\u5316\u5f00\u53d1\u52a0\u8f7d\u5916\u90e8\u7a0b\u5e8f\u96c6\u5931\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/433"},"!433")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1 SpareTime \u9891\u7e41\u68c0\u67e5\u5bfc\u81f4 CPU \u589e\u9ad8\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/aa0a2eec95f6ed2b74c681877498900726267d82"},"aa0a2ee")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7279\u522b\u9e23\u8c22")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/YaChengMu"},"YaChengMu"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v218\u5df2\u53d1\u5e03"},"v2.18\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Tools.CommandLine")," \u62d3\u5c55\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/tools/Furion.Tools/Furion.Tools.CommandLine"},"\u67e5\u770b\u6e90\u7801")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u57fa\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"AsyncLocal")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"CallContext")," \u5b9e\u73b0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9057a212aab8057b668086bd14369fa68ce120df"},"9057a21")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u53ef\u914d\u7f6e\u8bf7\u6c42\u5f02\u5e38\u91cd\u8bd5\u7b56\u7565 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/656da87a667c2da7d82425cdcd47146e99602d65"},"656da87")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnRequestFailded")," \u4e8b\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a3da4ba2c69380fe5f8c2fda80054544c0a3468"},"4a3da4b")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Scoped")," \u6240\u6709\u5e26\u8fd4\u56de\u503c\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/656da87a667c2da7d82425cdcd47146e99602d65"},"656da87")," - ","\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u5728 ",(0,l.kt)("inlineCode",{parentName:"strong"},"ConfigureService")," \u4e2d\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions<>()")," \u83b7\u53d6\u914d\u7f6e\u903b\u8f91")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/afa4ac347152ccac37bd1d0f9af1e8ffb665a662"},"afa4ac3"))))),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u5728\u8fc7\u53bb\uff0c\u5f88\u591a\u5f00\u53d1\u8005\u603b\u662f\u559c\u6b22\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u914d\u7f6e\u670d\u52a1\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ConfigureService")," \u65b9\u6cd5\u4e2d\u89e3\u6790\u670d\u52a1\uff0c\u8fd9\u6837\u5bfc\u81f4\u5185\u5b58\u5b58\u5728\u6ea2\u51fa\u98ce\u9669\uff0cGC \u65e0\u6cd5\u56de\u6536\u3002\n\u6b63\u786e\u7684\u65b9\u5f0f\u662f\u5c3d\u53ef\u80fd\u7684\u907f\u514d ",(0,l.kt)("inlineCode",{parentName:"p"},"ConfigureService")," \u4e2d\u89e3\u6790\u670d\u52a1\u3002",(0,l.kt)("strong",{parentName:"p"},"\u5982\u679c\u9700\u8981\u5728\u3010\u542f\u52a8\u65f6\u3011\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u914d\u7f6e\u9009\u9879"),"\uff0c\u8bf7\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetConfig(\u8def\u5f84, true)")," \u4ee3\u66ff ",(0,l.kt)("inlineCode",{parentName:"strong"},"App.GetOptions")),"\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," v2.16+ \u7248\u672c\u91cd\u6784 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContextBuilder")," \u4e4b\u540e\u5199\u9519\u5b9e\u4f53\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I45E6M"},"#I45E6M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u5355\u4e2a\u503c\u5e8f\u5217\u5316\u9519\u8bef\u5904\u7406\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3282eba2cecb505e339ef3f9c8e823f84dcb43f0"},"3282eba")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," v2.17.3+ \u5355\u5143\u6d4b\u8bd5\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"TestServer")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I45JR3"},"#I45JR3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.Invoke")," \u6b63\u5e38\u65b9\u6cd5\u6b7b\u5faa\u73af bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/392"},"!392")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u751f\u6210\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5b58\u5728\u6570\u7ec4/\u96c6\u5408\u7c7b\u578b\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Key")," \u91cd\u590d\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/aeea2b1b19434f3171bd1c77be057ca36ecf9be2"},"aeea2b1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u5e8f\u5217\u5316\u5f15\u7528\u7c7b\u578b\u5bf9\u8c61\uff08\u4e0d\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"string"),"\uff09\u4e0d\u6b63\u786e\u7684\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/93cf63a023f3372b80edb5debc46271d2281318a"},"93cf63a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext")," \u9ed8\u8ba4\u79df\u6237\u5c5e\u6027\u53d7\u5de5\u4f5c\u5355\u5143\u5f71\u54cd\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e51557fdf37ae5646b2ea37c227c970eccdbed38"},"e51557f")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5305\u7ba1\u7406\u5de5\u5177\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6a21\u677f\u5f15\u64ce\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u64cd\u4f5c\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"\u6570\u636e\u5e93\u4e0a\u4e0b\u6587")," \u7b49\u7b49\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v217\u5df2\u53d1\u5e03"},"v2.17\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IPC\uff08Inter-Process Communication\uff0c\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff09")," \u6a21\u5757\u529f\u80fd\uff0c\u76ee\u524d\u63d0\u4f9b\u8fdb\u7a0b\u5185\u901a\u4fe1\u548c\u5171\u4eab\u5185\u5b58\u8fdb\u7a0b\u5916\u901a\u8baf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/ProcessChannel"},"ProcessChannel")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/xml")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"text/xml")," \u9ed8\u8ba4\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4753a1aed527a6282fe6c05036de9d50bd3b3dd8"},"4753a1a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u5168\u5c40\u5f02\u5e38\u62e6\u622a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u914d\u7f6e\u6587\u4ef6\u626b\u63cf\u76ee\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/3e2910a8b775fb6323e293b020bbe7cdfb4c6436"},"3e2910a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u6570\u636e\u5e93\u5b9e\u4f53\u63a5\u53e3\u663e\u5f0f\u5b9e\u73b0\u63a5\u53e3\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/9610a0a481f4f78770bc2fc3ed4cabbef2a8f937"},"9610a0a")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u5e94\u7528\u7a0b\u5e8f\u5168\u5c40\u62e6\u622a ",(0,l.kt)("inlineCode",{parentName:"li"},"[IfException]")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4f9d\u8d56\u6ce8\u5165\u6a21\u5757\u63a5\u53e3\u53ef\u4ee5\u9650\u5236\u5b9e\u73b0\u7c7b\u751f\u5b58\u5468\u671f\uff0c\u5b9e\u73b0\u7c7b\u4e5f\u652f\u6301\u590d\u5199\u751f\u5b58\u5468\u671f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d2ce089130300cdd8b1bc6792f325c5d38ee9404"},"d2ce089")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Retry()")," \u91cd\u8bd5\u7b56\u7565\u529f\u80fd\u81f3\u65b0\u7c7b\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Retry.Invoke()")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/6a7bbd0b30a653b9a42d340a63520485aa6bbfa4"},"6a7bbd0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"IHttpContextAccessor.SigninToSwagger()")," \u62d3\u5c55"),"\uff0c\u8bf7\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"IHttpContextAccessor.HttpContext.SigninToSwagger()"),"\uff0c\u9000\u51fa\u4e5f\u4e00\u6837"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},"\u5168\u5c40\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"del"},"Request Body")," \u91cd\u590d\u8bfb\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"del"},"Request.EnableBuffering()"))," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/d92c24bdb43bfb01643007ebb6a4ee42a5c738e9"},"d92c24b")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u72b6\u6001\u7801\u8fc7\u6ee4\u903b\u8f91\u9519\u8bef\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I44JYS"},"#I44JYS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff08\u5185\u5b58\u6570\u636e\u5e93\uff09\u6ce8\u518c\u53ca\u64cd\u4f5c\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/e1676512a54374427bedbde17cd8cb59d7852557"},"e167651")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u9ed8\u8ba4\u5e8f\u5217\u5316\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a55603bf7ed109296375dbeffc31591a6f8f8e49"},"a55603b")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u96f6\u70b9/\u6574\u70b9\u63d0\u524d\u4e00\u79d2\u89e6\u53d1\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4321L"},"#I4321L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u53cb\u597d\u5f02\u5e38\u5728\u5b50\u7c7b\u91cd\u5199\u62bd\u8c61\u7c7b\u65b9\u6cd5\u5185\u90e8\u629b\u5f02\u5e38\u65e0\u6cd5\u83b7\u53d6\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u975e Web \u9879\u76ee\u629b\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/4a4fe1f40e1856ea36a0c0d19ca625d3f7bf95b7"},"4a4fe1f")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u5b9e\u4f53\u6a21\u578b\u8d34 ",(0,l.kt)("inlineCode",{parentName:"li"},"[NotMapper]")," \u7279\u6027\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I44MNO"},"#I44MNO")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," Swagger \u751f\u6210\u6cdb\u578b SchemaIds \u9ed8\u8ba4\u8fde\u63a5\u7b26\uff0c\u7531 ",(0,l.kt)("inlineCode",{parentName:"li"},"Of")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"_")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/81946b64e81d9e290f80cd5bcebdb69c99001153"},"81946b6"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v216\u5df2\u53d1\u5e03"},"v2.16\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"MVC")," \u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I427Z2"},"#I427Z2"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"throw Oops.Bah()")," \u629b\u51fa\u4e1a\u52a1\u5f02\u5e38\uff08\u72b6\u6001\u7801 ",(0,l.kt)("inlineCode",{parentName:"li"},"400"),"\uff09"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyResultSettings")," \u89c4\u8303\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"json")," \u914d\u7f6e\u9009\u9879 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I42NY7"},"#I42NY7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00\u81ea\u5b9a\u4e49\u914d\u7f6e\u8d44\u6e90\u6587\u4ef6\u540d\u53ca\u81ea\u5b9a\u4e49\u7a0b\u5e8f\u96c6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I434YJ"},"#I434YJ")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"IUnifyResultProvider")," \u53c2\u6570 ",(0,l.kt)("strong",{parentName:"li"},"\uff08\u7834\u574f\u6027\u66f4\u6539\uff09")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I427Z2"},"#I427Z2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IJsonSerializerProvider")," \u63a5\u53e3\u53c2\u6570\uff0c\u53bb\u6389 ",(0,l.kt)("inlineCode",{parentName:"li"},"inherit")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/a55603bf7ed109296375dbeffc31591a6f8f8e49"},"a55603b"))))),(0,l.kt)("details",{style:{marginLeft:50}},(0,l.kt)("summary",null,"\u67e5\u770b\u66f4\u6539"),(0,l.kt)("div",null,(0,l.kt)("admonition",{title:"\u65b0\u7248\u672c\u81ea\u5b9a\u4e49\u89c4\u8303\u5316\u7ed3\u679c",type:"important"},(0,l.kt)("pre",{parentName:"admonition"},(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {15-16}",showLineNumbers:!0,"":!0,"{15-16}":!0},'using Furion.DataValidation;\nusing Furion.DependencyInjection;\nusing Furion.UnifyResult.Internal;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Mvc.Filters;\nusing System;\nusing System.Threading.Tasks;\n\nnamespace Furion.UnifyResult\n{\n /// \n /// RESTful \u98ce\u683c\u8fd4\u56de\u503c\n /// \n [SuppressSniffer, UnifyModel(typeof(RESTfulResult<>))]\n public class RESTfulResultProvider : IUnifyResultProvider\n {\n /// \n /// \u5f02\u5e38\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)\n {\n return new JsonResult(RESTfulResult(metadata.StatusCode, errors: metadata.Errors));\n }\n\n /// \n /// \u6210\u529f\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n {\n return new JsonResult(RESTfulResult(StatusCodes.Status200OK, true, data));\n }\n\n /// \n /// \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)\n {\n return new JsonResult(RESTfulResult(StatusCodes.Status400BadRequest, errors: metadata.ValidationResult));\n }\n\n /// \n /// \u7279\u5b9a\u72b6\u6001\u7801\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n /// \n public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)\n {\n // \u8bbe\u7f6e\u54cd\u5e94\u72b6\u6001\u7801\n UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);\n\n switch (statusCode)\n {\n // \u5904\u7406 401 \u72b6\u6001\u7801\n case StatusCodes.Status401Unauthorized:\n await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: "401 Unauthorized")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n // \u5904\u7406 403 \u72b6\u6001\u7801\n case StatusCodes.Status403Forbidden:\n await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: "403 Forbidden")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n default: break;\n }\n }\n\n /// \n /// \u8fd4\u56de RESTful \u98ce\u683c\u7ed3\u679c\u96c6\n /// \n /// \n /// \n /// \n /// \n /// \n private static RESTfulResult RESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)\n {\n return new RESTfulResult\n {\n StatusCode = statusCode,\n Succeeded = succeeded,\n Data = data,\n Errors = errors,\n Extras = UnifyContext.Take(),\n Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()\n };\n }\n }\n}\n'))))),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u63a7\u5236\u5668\u542f\u7528\u89c4\u8303\u5316\u5904\u7406\u540e\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"new Json({})")," \u5bf9\u8c61\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I4354S"},"#I4354S")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u591a\u8bed\u8a00\u5e95\u5c42\u8bbe\u8ba1\uff0c\u53d6\u6d88\u9700\u8981\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"Lang.cs")," \u7a7a\u7c7b\u7684\u8981\u6c42 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I434YJ"},"#I434YJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u6027\u80fd\uff0c\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u76d1\u542c")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v215\u5df2\u53d1\u5e03"},"v2.15\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbRepository<\u5b9a\u4f4d\u5668>()")," \u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41MZP"},"#I41MZP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u7f3a\u7701\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41PBW"},"#I41PBW")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u52a8\u626b\u63cf\u63a5\u53e3\u8fdb\u884c\u4f9d\u8d56\u6ce8\u5165\u83b7\u53d6\u9996\u4e2a\u63a5\u53e3\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41D1M"},"#I41D1M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u6ca1\u6709\u5b9e\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41MZP"},"#I41MZP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u7f3a\u7701\u5e8f\u5217\u5316 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41PBW"},"#I41PBW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext.Tenant")," \u591a\u79df\u6237\u7a7a\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I421DA"},"#I421DA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker")," \u5b9a\u65f6\u4efb\u52a1\u963b\u585e\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/82a79cce0a3d9b09f4090b7363c3b78327c76846"},"82a79cc")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Jwt")," \u81ea\u52a8\u5237\u65b0\u673a\u5236\u65f6\u533a\u5904\u7406\u95ee\u9898\uff0c\u4e3b\u8981\u9488\u5bf9\u56fd\u5916\u7528\u6237 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I41UB1"},"#I41UB1")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/82a79cce0a3d9b09f4090b7363c3b78327c76846"},"82a79cc")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u7cfb\u7edf\u542f\u52a8\u6027\u80fd\uff0c\u4ece 106M \u51cf\u5c11\u5230 84M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u5927\u91cf\u5e95\u5c42\u4ee3\u7801\uff0c\u5305\u5927\u5c0f\u4ece 391Kb \u51cf\u5c11\u5230 350Kb\uff08\u4e0d\u5e26\u6ce8\u91ca\u7248\u672c\u4ec5 64Kb\uff09"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v213v214\u5df2\u53d1\u5e03"},"v2.13/v2.14\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7b80\u6613\u5b57\u7b26\u4e32\u6a21\u677f\u529f\u80fd\uff0c\u652f\u6301\u8fdc\u7a0b\u8bf7\u6c42\u3001\u6570\u636e\u5e93\u6a21\u5757\u3001\u65e5\u5fd7\u6a21\u5757\u3001\u4e8b\u4ef6\u603b\u7ebf\u6a21\u5757\u3001\u5b9a\u65f6\u4efb\u52a1\u6a21\u5757\u3001\u5f02\u5e38\u6a21\u5757\u3001\u6570\u636e\u6821\u9a8c\u6a21\u5757 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I402BL"},"#I402BL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"404")," \u72b6\u6001\u7801\u89c4\u8303\u5316\u9ed8\u8ba4\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I408F5"},"#I408F5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," \u58f0\u660e\u65b9\u5f0f\u652f\u6301\u5f02\u6b65\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40KWR"},"#I40KWR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u81ea\u52a8\u914d\u7f6e\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/354"},"!354")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("strong",{parentName:"li"},"\u6846\u67b6\u4f9d\u8d56 ",(0,l.kt)("inlineCode",{parentName:"strong"},"SDK")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET 5.0.8")," \u7248\u672c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"del"},"Db.GetNewDbContext()")," \u9759\u6001\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I400BK"},"#I400BK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("del",{parentName:"li"},"\u6570\u636e\u5e93\u6a21\u5757\u65f6\u6001\u8868\u62d3\u5c55\u652f\u6301")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I405HI"},"#I405HI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IJsonSerializerProvider")," \u63a5\u53e3\u53c2\u6570\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"inherit")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZQU5"},"#I3ZQU5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"LogEntityFrameworkCoreSqlExecuteCommand")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"OutputOriginalSqlExecuteLog")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40VVE"},"#I40VVE")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u5b9a\u65f6\u4efb\u52a1\u8fb9\u754c\u503c\u95ee\u9898\u5bfc\u81f4\u8df3\u8fc7\u5355\u6b21\u4efb\u52a1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I405NI"},"#I405NI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u72ec\u7acb\u53d1\u5e03\u540e\u7a0b\u5e8f\u96c6\u626b\u63cf\u5931\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZH3X"},"#I3ZH3X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u5982\u679c\u914d\u7f6e\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"Client")," \u5ba2\u6237\u7aef\u4f46\u4f20\u5165\u4e86\u7a7a ",(0,l.kt)("inlineCode",{parentName:"li"},"RequestUrl")," \u5730\u5740\u5bfc\u81f4\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40BC6"},"#I40BC6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u7be1\u6539\u975e\u77ed\u8def\u7aef\u72b6\u6001\u7801\u51fa\u73b0\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I408F5"},"#I408F5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetServiceProvider(type)")," \u89e3\u6790\u670d\u52a1\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40KXN"},"#I40KXN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c6\u56fe\u5f15\u64ce\u4fdd\u5b58\u6210\u6587\u4ef6\u6d41\u9ed8\u8ba4\u7f13\u5b58\u533a\u5927\u5c0f\uff0c\u4ece ",(0,l.kt)("inlineCode",{parentName:"li"},"4096")," \u63d0\u5347\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"8192")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I40KH5"},"#I40KH5"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v210211212-\u5df2\u53d1\u5e03"},"v2.10/2.11/2.12 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u8be5\u7248\u672c\u6709\u591a\u4e2a\u7834\u574f\u6027\u66f4\u6539\uff0c\u66f4\u65b0\u65f6\u8bf7\u8ba4\u771f\u67e5\u770b\u3002")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.Configuration.Reload()")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYI8"},"#I3XYI8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISubscribeHandler")," \u652f\u6301\u5f02\u6b65\u65b9\u6cd5\u5b9a\u4e49 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYHJ"},"#I3XYHJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"app.UseUnifyResultStatusCodes()")," \u53ef\u914d\u7f6e\u4fee\u6539\u8fd4\u56de\u72b6\u6001\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VZQH"},"#I3VZQH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u6dfb\u52a0\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"User-Agent")," \u5934 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W17C"},"#I3W17C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406\u5207\u6362\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u5b9a\u4f4d\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XFP6"},"#I3XFP6")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XDCR"},"#I3XDCR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"CronFormat")," \u81ea\u52a8\u8bc6\u522b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y7GT"},"#I3Y7GT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql \u9ad8\u7ea7\u4ee3\u7406")," \u62e6\u622a\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YHG4"},"#I3YHG4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u62e6\u622a\u8fdc\u7a0b\u8bf7\u6c42\u6240\u6709\u5f02\u5e38\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YPDE"},"#I3YPDE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Timeout")," \u8d85\u65f6\u65f6\u95f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YPPK"},"#I3YPPK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"RSA")," \u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YZNU"},"#I3YZNU")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/345"},"!345")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DataTable")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DataSet")," \u652f\u6301\u4e0d\u6307\u5b9a\u5f3a\u7c7b\u578b\u8fd4\u56de ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Z6RI"},"#I3Z6RI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u6cd5\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Timeout")," \u8d85\u65f6\u65f6\u95f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZKWF"},"#I3ZKWF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Timeout]")," \u7279\u6027\uff0c\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZKWF"},"#I3ZKWF")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"FakeDelete")," \u5047\u5220\u9664/\u8f6f\u5220\u9664\u6240\u6709\u529f\u80fd ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKII"},"#I3XKII"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},"\u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"strong"},"PBKDF2")," \u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3Z0IO"},"#I3Z0IO"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},"\u8fdc\u7a0b\u8bf7\u6c42\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u5355\u4f4d\u7531 ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u5206\u949f")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"\u79d2")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3YPPK"},"#I3YPPK"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"IJsonSerializerProvider")," \u63a5\u53e3\u53c2\u6570\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"strong"},"inherit")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZQU5"},"#I3ZQU5"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[NonAutomatic]")," \u7279\u6027\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[Manual]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKKX"},"#I3XKKX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[NotChangedListener]")," \u7279\u6027\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[SuppressChangedListener]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKLZ"},"#I3XKLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[ManualSaveChanges]")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[ManualCommit]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKNP"},"#I3XKNP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"DbContext.TenantIdQueryFilterExpression")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"DbContext.BuildTenantQueryFilter")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3XKTB"},"#I3XKTB"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SkipScan]")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[SuppressSniffer]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XN5N"},"#I3XN5N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SkipProxy]")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"[SuppressProxy]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XN7O"},"#I3XN7O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u6267\u884c\uff0c\u6027\u80fd\u63d0\u5347 20% ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W33U"},"#I3W33U")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 WebAPI \u626b\u63cf\u63a7\u5236\u5668\u6ca1\u6709\u5c4f\u853d\u6ca1\u6709\u6ce8\u518c\u7684\u7b2c\u4e09\u65b9\u63a7\u5236\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y7TJ"},"#I3Y7TJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext")," \u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"TablePrefix")," \u65e0\u6548\uff1a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y57Q"},"#I3Y57Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u5b9a\u65f6\u4efb\u52a1\u4f7f\u7528\u5f02\u6b65\u59d4\u6258\u5bfc\u81f4\u7a0b\u5e8f\u7ec8\u6b62 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XVZ0"},"#I3XVZ0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e8b\u4ef6\u603b\u7ebf\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6d88\u606fid")," \u5bf9\u5e94\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"Handler")," \u53ea\u89e6\u53d1\u7b2c\u4e00\u4e2a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYP0"},"#I3XYP0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},".ToPagedList()")," \u5206\u9875\u65b9\u6cd5\u4f20\u5165\u5c0f\u4e8e\u6216\u7b49\u4e8e 0 \u7684\u9875\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XNAN"},"#I3XNAN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XMOL"},"#I3XMOL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7ee7\u627f ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog")," \u65e5\u5fd7\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u751f\u6210\u91cd\u590d\u65e5\u5fd7 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WA0L"},"#I3WA0L")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/331"},"!331")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7c98\u571f\u5bf9\u8c61")," \u52a8\u6001\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c7b\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W9LW"},"#I3W9LW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes.Numeric")," \u6821\u9a8c\u6570\u503c\u7c7b\u578b\u6b63\u5219\u8868\u8fbe\u5f0f\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WADS"},"#I3WADS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u547d\u4ee4\u53c2\u6570 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbParameter")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Value")," \u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"object")," \u7c7b\u578b\u7684\u65f6\u5019\u4e14\u4e0d\u6307\u5b9a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YKM6"},"#I3YKM6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93\u5b58\u50a8\u8fc7\u7a0b ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6e38\u6807\u53c2\u6570")," \u62a5\u9519\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZBYE"},"#I3ZBYE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Services")," \u91c7\u7528\u72ec\u7acb\u53d1\u5e03\u540e\u65e0\u6cd5\u6267\u884c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ZH3X"},"#I3ZH3X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8fdc\u7a0b\u8bf7\u6c42\u5982\u679c\u65e0\u8fd4\u56de\u503c\u5e8f\u5217\u5316\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/348"},"!348")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"appsettings.json")," \u7b49\u81ea\u5b9a\u4e49\u914d\u7f6e\u6587\u4ef6\u4e2d\u6587\u547d\u540d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YBFD"},"#I3YBFD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u914d\u7f6e\u547d\u540d\u5ba2\u6237\u7aef ",(0,l.kt)("inlineCode",{parentName:"li"},"BaseAddress")," \u5730\u5740\u517c\u5bb9\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YCRH"},"#I3YCRH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u6846\u67b6\u65e0\u7528\u4ee3\u7801\u3001\u4f18\u5316\u4ee3\u7801"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u975e Web")," \u73af\u5883\u4e0b\u6027\u80fd"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4f1a\u8bdd\u548c\u72b6\u6001\u7ba1\u7406 \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YI3G"},"#I3YI3G")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u3001\u65e5\u5fd7\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u8fdc\u7a0b\u8bf7\u6c42\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406\u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u914d\u7f6e\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y2EV"},"#I3Y2EV")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"dapper")," \u591a\u4e2a\u6570\u636e\u6e90\u5982\u4f55\u7ee7\u627f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WUOI"},"#I3WUOI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"SpareTime")," \u591a\u6b21\u6267\u884c\u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XEQU"},"#I3XEQU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u9009\u9879\u66f4\u6539\u901a\u77e5\uff08\u70ed\u66f4\u65b0\uff09\uff1a\u6570\u636e\u5e93\u91cc\u7684\u6570\u636e\u66f4\u6539\u4e86\u5982\u4f55\u901a\u77e5\u9009\u9879\u8fdb\u884c\u6539\u53d8\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3XYI8"},"#I3XYI8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SaaS")," \u591a\u79df\u6237\u6dfb\u52a0\u65f6\u65e0\u6cd5\u83b7\u53d6\u79df\u6237",(0,l.kt)("inlineCode",{parentName:"li"},"Id")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y5CF"},"#I3Y5CF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"_httpContextAccessor.HttpContext")," \u4e3a\u7a7a",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y6BI"},"#I3Y6BI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Ubuntu")," \u4e2d\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.Configuration")," \u65b9\u6cd5\u8bfb\u53d6\u4e0d\u5230\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Y74H"},"#I3Y74H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4f5c\u7528\u57df\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YHXP"},"#I3YHXP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"UnitofWork")," \u63d0\u4ea4\u4e8b\u52a1\uff0c\u53ef\u4ee5\u63d0\u4ea4\u6210\u529f\uff0c\u4f46\u662f\u7cfb\u7edf\u4f1a\u6709\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YIWU"},"#I3YIWU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u8bfb\u5199\u5206\u79bb--\u975e\u9ed8\u8ba4\u4e3b\u5e93\u7684\u4ece\u5e93\u968f\u673a\u8be5\u5982\u4f55\u914d\u7f6e\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3YVR7"},"#I3YVR7"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v290-\u5df2\u53d1\u5e03"},"v2.9.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("strong",{parentName:"li"},"\u5e94\u7528\u5168\u5c40\u672a\u6258\u7ba1\u8d44\u6e90\u76d1\u542c\uff0c\u5e76\u5b9e\u73b0\u7279\u5b9a\u65f6\u673a\u91ca\u653e\u975e\u6258\u7ba1\u8d44\u6e90")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VXAU"},"#I3VXAU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e0d\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"EntityFramework.Core")," \u7248\u672c\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Pure")," \u5305",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VGW8"},"#I3VGW8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," swagger \u652f\u6301\u8bbe\u7f6e\u591a\u8bed\u8a00\u65b9\u5f0f\uff0c\u8bbe\u7f6e\u7684\u8bed\u8a00\u81ea\u52a8\u6dfb\u52a0\u5230 api \u5730\u5740\u540e\u9762 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VDTD"},"#I3VDTD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"[FromRoute]")," \u975e\u5fc5\u586b\uff08\u9009\u586b\uff09\u53c2\u6570\u8bbe\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VFIM"},"#I3VFIM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u53c2\u6570\u652f\u6301\u914d\u7f6e\u8def\u7531\u7ea6\u675f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VFIR"},"#I3VFIR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DESC")," \u52a0\u5bc6\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5927\u5199")," \u8f93\u51fa ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/326"},"#326")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6240\u6709\u5305\u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},".snupkg")," \u5305\uff0c\u652f\u6301\u5f00\u53d1\u9636\u6bb5\u76f4\u63a5\u8c03\u8bd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6240\u6709\u5305\u6e90\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VFIX"},"#I3VFIX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"repository.BuildChange()")," \u65b9\u6cd5\u7684\u8fd4\u56de\u503c\uff0c\u591a\u8fd4\u56de\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceScope")," \u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VX3D"},"#I3VX3D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"AutoRefreshToken")," \u53c2\u6570 ",(0,l.kt)("inlineCode",{parentName:"li"},"days")," \u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"minutes")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VXNB"},"#I3VXNB")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetOptionsSnapshot<>")," \u4ece\u6839\u670d\u52a1\u89e3\u6790\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VS2X"},"#I3VS2X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u8fdc\u7a0b\u8bf7\u6c42\u5982\u679c\u51fa\u73b0\u5f02\u5e38\uff0c\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"Stream")," \u4e3a null \u5bfc\u81f4\u5f02\u5e38\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VSTU"},"#I3VSTU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5982\u679c\u5b9e\u4f53\u88ab\u8ddf\u8e2a\u540e\uff0c\u65e0\u6cd5\u6267\u884c\u5220\u9664\u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W08P"},"#I3W08P")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fd0\u884c\u65f6\u5185\u5b58\uff0c\u5b9e\u73b0\u8bf7\u6c42\u7ed3\u675f\u81ea\u52a8\u91ca\u653e\u672a\u6258\u7ba1\u8d44\u6e90 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VXAU"},"#I3VXAU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App")," \u9759\u6001\u7c7b\u6587\u6863\u3001\u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863\u3001\u5206\u8868\u5206\u5e93\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebAPI\uff0c\u81ea\u5b9a\u4e49\u6839\u636e\u65b9\u6cd5\u540d\u751f\u6210 ","[HttpMethod]"," \u89c4\u5219\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VKQG"},"#I3VKQG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertAsync")," \u7684\u65f6\u5019\u63d0\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"ID")," \u4e3a\u7a7a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VS7E"},"#I3VS7E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FirstOrDefault")," \u81ea\u52a8\u8fc7\u6ee4\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"TanantId")," \u5b57\u6bb5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W0VH"},"#I3W0VH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5bf9\u65b9\u63a5\u53e3\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpConnectionResponseContent")," \u8fdc\u7a0b\u8bf7\u6c42\u62ff\u4e0d\u5230\u8fd4\u56de\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W17C"},"#I3W17C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u67e5\u8be2\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"FindOrDefault")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W830"},"#I3W830")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlNonQuery")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"UnitOfWork")," \u5faa\u73af\u6267\u884c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W8WW"},"#I3W8WW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u56e0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u914d\u7f6e\u95ee\u9898\uff0c\u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e2d\u4e0d\u80fd\u81ea\u52a8\u643a\u5e26 token \u6388\u6743\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W934"},"#I3W934")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"SetBody")," \u53c2\u6570\u8bc6\u522b\u4e0d\u4e86",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WBM1"},"#I3WBM1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u91cc\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql.SqlNonQuery()")," \u6216\u8005 ",(0,l.kt)("inlineCode",{parentName:"li"},"obj.insert()")," \u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3WB5O"},"#I3WB5O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8c03\u7528\u51fd\u6570\u6216\u5b58\u50a8\u8fc7\u7a0b\uff0c\u600e\u4e48\u51fa\u53c2\u6570\u636e\u81ea\u5b9a\u4e49\u5bf9\u8c61\uff1f\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle"),"\u6570\u636e\u5e93\u7684\u6570\u7ec4\u6216\u8bb0\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3W71W"},"#I3W71W"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v270280-\u5df2\u53d1\u5e03"},"v2.7.0/2.8.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},'throw Oops.On("\u5f02\u5e38\u6d88\u606f")')," \u5e94\u7528\u591a\u8bed\u8a00\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UYC2"},"#I3UYC2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetMSRepository()")," \u83b7\u53d6\u4e3b\u4ece\u5e93\u4ed3\u50a8\u9759\u6001\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UBSJ"},"#I3UBSJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5de5\u4f5c\u5355\u5143\u7279\u6027\uff0c\u652f\u6301\u9759\u6001\u7c7b\u5f3a\u5236\u6027\u5f00\u542f\u5171\u4eab\u4e8b\u52a1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S9N8"},"#I3S9N8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u6a21\u5f0f\u6253\u5370\u65e5\u5fd7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SE8X"},"#I3SE8X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpClient")," \u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SI17"},"#I3SI17")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"\u77ed ID")," \u751f\u6210\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T7JP"},"#I3T7JP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SensitiveDetection]")," \u652f\u6301\u914d\u7f6e\u66ff\u6362\u654f\u611f\u8bcd\u6c47 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3THIA"},"#I3THIA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder.DocumentGroups")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SpecificationDocumentBuilder.CheckApiDescriptionInCurrentGroup(currentGroup, apiDescription)")," \u516c\u5f00\u65b9\u6cd5",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UDSY"},"#I3UDSY")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u81ea\u52a8\u626b\u63cf ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},".xml")," \u6587\u4ef6\u5e76\u52a0\u8f7d\u5230\u914d\u7f6e\u4e2d\u7684\u4ee3\u7801\u548c\u89c4\u5219\uff0c\u540c\u65f6\u79fb\u9664\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},".xml")," \u6587\u4ef6\u52a0\u8f7d\uff0c\u53ea\u4fdd\u7559 ",(0,l.kt)("inlineCode",{parentName:"li"},".json")," \u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UJ3L"},"#I3UJ3L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5206\u5e03\u5f0f\u8fde\u7eed ",(0,l.kt)("inlineCode",{parentName:"li"},"GUID")," \u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UBK0"},"#I3UBK0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"Scoped.CreateUnitOfWork")," \u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},"Scoped.CreateUow")," ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3SJPU"},"#I3SJPU"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption.Validate")," \u8fd4\u56de\u503c\uff0c\u652f\u6301\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"TokenValidationResult")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S2ND"},"#I3S2ND")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidation]")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"[SensitiveDetection]")," \u591a\u8bed\u8a00\u5e94\u7528\u5931\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UH6U"},"#I3UH6U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped")," \u7cfb\u5217\u65b9\u6cd5\u5f02\u6b65\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Task is cancel")," \u60c5\u51b5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SJF6"},"#I3SJF6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," \u6570\u636e\u5e93\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"ToPagedList")," \u65b9\u6cd5\u8fd4\u56de\u7684\u7ed3\u679c\u8fdb\u884c\u904d\u5386\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"MySqlConnection is aleady use")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SJQ3"},"#I3SJQ3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"tool/cli.psl")," \u6ca1\u6709\u5305\u542b\u9879\u76ee\u540d\u79f0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S1T6"},"#I3S1T6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u505a\u4e0a\u4f20\u6587\u4ef6\u65f6\uff0c\u6ca1\u6709\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"Body"),"\uff0c\u7a0b\u5e8f\u76f4\u63a5\u8df3\u8fc7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TKFH"},"#I3TKFH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"multipart/form-data")," \u5185\u5bb9\u5206\u5272\u7b26\u7f3a\u5931 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TNO9"},"#I3TNO9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u4ee3\u7406\u62e6\u622a\u65b9\u5f0f\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpResponseMessage")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3V161"},"#I3V161")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"repository.Database.SetCommandTimeout(600)")," \u65e0\u6cd5\u751f\u6548",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VAQS"},"#I3VAQS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u89c4\u8303\u5316\u7ed3\u679c\u4e2d\u95f4\u4ef6\u5224\u65ad\u662f\u5426\u8df3\u8fc7\u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T2AA"},"#I3T2AA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u66f4\u65b0\u90e8\u5206\u5217 ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateIncludeNowAsync")," \u5177\u6709\u4e8c\u4e49\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RW9Q"},"#I3RW9Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u6846\u67b6\u5e95\u5c42\u6027\u80fd\uff0c\u5927\u5927\u51cf\u5c11\u5185\u5b58\u5360\u7528\u548c\u6ea2\u51fa\u60c5\u51b5\uff0c\u542f\u52a8\u5185\u5b58\u4ece\u4e4b\u524d ",(0,l.kt)("inlineCode",{parentName:"strong"},"136M")," \u4e0b\u5c06\u5230 ",(0,l.kt)("inlineCode",{parentName:"strong"},"86M"))),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5220\u9664\u65e0\u7528\u4ee3\u7801\uff0c\u4f18\u5316\u4e0d\u89c4\u8303\u547d\u540d\u7b49"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Inject")," \u8bf4\u660e\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TITA"},"#I3TITA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," 4.2.9 \u7684\u793a\u4f8b\u4ee3\u7801\u6587\u6863\uff0c\u65b9\u6cd5\u6ca1\u6709\u653e\u5728 class \u4e2d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S9T5"},"#I3S9T5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c 6.5.6 \u591a\u5206\u7ec4\u6392\u5e8f\u56fe\u7247\u5f15\u7528\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UBOQ"},"#I3UBOQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u9759\u6001\u7c7b ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped")," \u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"MasterDbContextLocator")," \u4e0d\u968f\u81ea\u5b9a\u4e49\u7684\u53c2\u6570\u751f\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SDBB"},"#I3SDBB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4e8b\u4ef6\u603b\u7ebf\u4e2d\u8ba2\u9605\u5904\u7406\u7a0b\u5e8f\u7c7b\u83b7\u53d6\u4e0d\u5230\u7528\u6237\u4fe1\u606f\uff0c\u8fd9\u4e2a\u6b63\u5e38\u5417 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3SS0U"},"#I3SS0U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728\u6709\u591a\u79df\u6237\u8fc7\u6ee4\u5668\u7684\u60c5\u51b5\u4e0b\uff0c\u662f\u5426\u6709\u4e00\u79cd\u65b9\u5f0f\u67e5\u8be2\u5168\u91cf\u7684\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T0VI"},"#I3T0VI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," mysql \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},'&"tools/cli.ps1"')," \u9875\u9762\u5316\u52a0\u8f7d\u8868\u7ed3\u6784\u5931\u8d25 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T4F8"},"#I3T4F8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5176\u4ed6 Web \u5c42\u7684 Startup \u4f18\u5148\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T8IP"},"#I3T8IP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8f85\u52a9\u89d2\u8272\u670d\u52a1\u5b9e\u73b0\u5efa\u8bae ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3T906"},"#I3T906")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5f00\u542f ",(0,l.kt)("inlineCode",{parentName:"li"},"easy connection")," \u540e\u540c\u4e00\u5185\u7f51\u5730\u5740\u6d4f\u89c8\u5668\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\uff0c\u8fdc\u7a0b\u8bf7\u6c42\u5219\u65e0\u6cd5\u8bbf\u95ee",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TA2U"},"#I3TA2U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"scope.ServiceProvider.GetService"),"\u4e0d\u5b58\u5728 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TQMV"},"#I3TQMV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u80fd\u5426\u5728 WPF \u9879\u76ee\u4e2d\u4f7f\u7528\u5462\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TMCC"},"#I3TMCC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u591a\u4e2a\u6570\u636e\u6e90 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TM9B"},"#I3TM9B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"L.GetSelectCulture()")," \u65b9\u6cd5\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3TQS4"},"#I3TQS4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5faa\u73af\u4e2d\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGen.NextID()")," \u5f97\u5230\u7684\u7ed3\u679c\u5e76\u4e0d\u662f\u8fde\u7eed\u7684 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UAF6"},"#I3UAF6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6a21\u5757\u5316\u52a8\u6001\u52a0\u8f7d\u63d2\u4ef6\u652f\u6301\u901a\u914d\u7b26\u5339\u914d.dll ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UDT8"},"#I3UDT8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u6a21\u5f0f\uff0c\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller")," \u91cc\u5feb\u6377\u65b9\u5f0f\u521b\u5efa ",(0,l.kt)("inlineCode",{parentName:"li"},"View")," \u9875\u9762\u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UFGB"},"#I3UFGB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u8fc1\u79fb\u6ca1\u6709\u79cd\u5b50\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UI7G"},"#I3UI7G")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpareTimeAttribute")," \u4e2d \u6839\u636e Cron \u8868\u8fbe\u5f0f \u81ea\u52a8\u5339\u914d Cron \u8868\u8fbe\u5f0f\u683c\u5f0f\u5316\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3UTKQ"},"#I3UTKQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"workService")," \u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3V8HJ"},"#I3V8HJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sqlserver 2008")," \u5206\u9875\u62a5\u9519\u5982\u4f55\u89e3\u51b3\u5462 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3VF96"},"#I3VF96"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v250260-\u5df2\u53d1\u5e03"},"v2.5.0/2.6.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u865a\u62df\u6587\u4ef6\u670d\u52a1\uff0c\u652f\u6301\u7269\u7406\u6587\u4ef6\u548c\u5d4c\u5165\u8d44\u6e90\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RBR9"},"#I3RBR9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8bfb\u5199\u5206\u79bb/\u4e3b\u4ece\u590d\u5236\u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"IMSRepository")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"IMSRepository")," \u4ed3\u50a8\uff0c\u53ef\u8fdb\u884c\u968f\u673a\u6216\u81ea\u5b9a\u4e49\u83b7\u53d6\u4ece\u5e93"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u8131\u654f\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R5ZF"},"#I3R5ZF")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"strong"},"InsertOrUpdate")," \u4e00\u7cfb\u5217\u6570\u636e\u5e93\u64cd\u4f5c\u65b9\u6cd5")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RI9L"},"#I3RI9L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u6240\u6709\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"li"},"Exists")," \u5355\u8bcd\u7684\u6570\u636e\u5e93\u64cd\u4f5c\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RJ0T"},"#I3RJ0T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u5206\u5e03\u5f0f GUID ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGenerater")," \u9759\u6001\u7c7b\u540d\u79f0\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGen")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RGUA"},"#I3RGUA")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8c03\u7528\u65b9\u6cd5\u9519\u8bef\uff0c\u8bf7\u6c42\u62a5\u6587\u5934 ",(0,l.kt)("inlineCode",{parentName:"li"},"Headers")," \u4e0d\u80fd\u6dfb\u52a0\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"IHttpDispatchProxy")," \u7684\u5b50\u63a5\u53e3\u4e0a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RAF7"},"#I3RAF7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5e94\u7528\u542f\u52a8\u6027\u80fd\uff0c\u51cf\u5c11\u5185\u5b58\u5206\u914d"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8131\u654f\u5904\u7406\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R6WZ"},"#I3R6WZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6587\u4ef6\u7cfb\u7edf\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"FS")," \u9759\u6001\u7c7b\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RCC4"},"#I3RCC4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8bfb\u5199\u5206\u79bb/\u4e3b\u4ece\u590d\u5236\u3001\u6570\u636e\u5e93\u4ed3\u50a8\u6587\u6863\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"Db")," \u9759\u6001\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R3B6"},"#I3R3B6")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u96c6\u7fa4\u90e8\u7f72 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R3J4"},"#I3R3J4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5347\u7ea7\u6700\u65b0\u6846\u67b6\u4ee5\u540e\uff0c \u6570\u636e\u5e93\u751f\u6210\u6a21\u578b\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3R7TP"},"#I3R7TP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4e8b\u52a1\u6267\u884c\u4e2d\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"SaveNow")," \u6267\u884c\u540e\u6709\u8b66\u544a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RAJI"},"#I3RAJI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Hangfire")," \u4f7f\u7528\u4e8b\u52a1\u51fa\u73b0\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ROQ5"},"#I3ROQ5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u5b9e\u73b0 cli \u4e0d\u6267\u884c\u67d0\u4e9b\u8868\u7684\u8fc1\u79fb\uff0cweb \u8bf7\u6c42\u53ef\u4ee5\u6b63\u5e38\u64cd\u4f5c\u5462\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ROU5"},"#I3ROU5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728\u4f7f\u7528\u5b9a\u65f6\u4efb\u52a1\u65f6\u5019\u51fa\u73b0\u7684\u95ee\u9898\uff1a\u7ee7\u627f ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RRZS"},"#I3RRZS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u65f6\u95f4\u5dee 8 \u5c0f\u65f6\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RSCO"},"#I3RSCO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetRepository<>")," \u65b9\u6cd5\u7ed3\u5408 ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u540e\u4e0d\u53ef\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RUK5"},"#I3RUK5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4e8b\u52a1\u5f00\u542f\u5931\u8d25\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RYJY"},"#I3RYJY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbProvider")," \u53ef\u52a8\u6001\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RYPE"},"#I3RYPE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"WorkService")," \u4f9d\u8d56\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISingleton")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3RZ1L"},"#I3RZ1L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," \u8fd0\u884c\u671f\u52a8\u6001\u4fee\u6539 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3S33Q"},"#I3S33Q"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v240-\u5df2\u53d1\u5e03"},"v2.4.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u81ea\u52a8\u52a0\u8f7d\u6a21\u5757\u5316/\u63d2\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},".xml")," \u6ce8\u91ca\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Q7XY"},"#I3Q7XY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppDbContext.FailedAutoRollback")," \u5c5e\u6027\uff0c\u53ef\u914d\u7f6e\u4e8b\u52a1\u662f\u5426\u81ea\u52a8\u56de\u6eda ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QOUS"},"#I3QOUS")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("strong",{parentName:"li"},".NET 5 SDK \u4e3a 5.0.6 \u7248\u672c")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IJsonSerializerProvider.GetSerializerOptions()")," \u63a5\u53e3\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QIJN"},"#I3QIJN")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddInject()")," \u65b9\u5f0f\u6ce8\u518c\uff0c\u6a21\u5757\u5316/\u63d2\u4ef6\u4e0d\u52a0\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3Q7XH"},"#I3Q7XH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u79cd\u5b50\u6570\u636e\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," \u62a5\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QCM5"},"#I3QCM5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay.Object")," \u521b\u5efa\u7c98\u571f\u5bf9\u8c61\u540e\u5c5e\u6027\u53d8\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QRV3"},"#I3QRV3")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6\u5e95\u5c42\u6027\u80fd\uff0c\u51cf\u5c11\u5185\u5b58\u5360\u7528\uff0c\u63d0\u9ad8\u5e94\u7528\u521d\u59cb\u5316\u901f\u5ea6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/commit/92f8cc1"},"92f8cc1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," JSON \u5e8f\u5217\u5316\u6587\u6863\u3001\u89c4\u8303\u5316\u7ed3\u679c\u6587\u6863\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdateNowAsync")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3QKO5"},"#I3QKO5"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v230-\u5df2\u53d1\u5e03"},"v2.3.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.MongoDB")," \u62d3\u5c55\u5305\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PKST"},"#I3PKST")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001\u7c98\u571f\u7c7b\u578b\u76f4\u63a5\u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"object")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"dynamic")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OY27"},"#I3OY27")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Retry")," \u65b9\u6cd5\uff0c\u652f\u6301\u8bbe\u7f6e\u65b9\u6cd5\u8c03\u7528\u5931\u8d25\u8fdb\u884c\u91cd\u8bd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PJKQ"},"#I3PJKQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTSettings")," \u914d\u7f6e\u8282\u70b9 ",(0,l.kt)("inlineCode",{parentName:"li"},"Algorithm"),"\uff0c\u7528\u4e8e\u914d\u7f6e\u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PQGV"},"#I3PQGV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"repository.EnsureTransaction()")," \u65b9\u6cd5\u786e\u4fdd\u5de5\u4f5c\u5355\u5143\u4e8b\u52a1\u6709\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PVF1"},"#I3PVF1")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 .NET 6.0.0 Preview 3 \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3P2C7"},"#I3P2C7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f7f\u7528\u6570\u636e\u5e93\u751f\u6210\u6a21\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"tools/cli.ps1"),"\uff0c\u4ece\u6570\u636e\u5e93\u8868\u751f\u6210\u7684\u5b9e\u4f53\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PL18"},"#I3PL18")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[NonUntify]")," \u7279\u6027\u540e\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Example Value")," \u6ca1\u6709\u5339\u914d\u6b63\u786e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PK0L"},"#I3PK0L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SpareTimer.Tally")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Cron")," \u8868\u8fbe\u5f0f\u4e2d\u8ba1\u6570\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PWSE"},"#I3PWSE")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6846\u67b6\u9ed8\u8ba4\u5e8f\u5217\u5316\u5e94\u8be5\u4ece\u914d\u7f6e\u4e2d\u8bfb\u53d6\uff0c\u800c\u975e\u624b\u52a8\u7f16\u5199 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3P1SJ"},"#I3P1SJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u5e93\uff0c\u652f\u6301\u975e\u6cdb\u578b\u4ed3\u50a8\u83b7\u53d6\u4e0a\u4e0b\u6587\u64cd\u4f5c\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PK2N"},"#I3PK2N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u5206\u5e03\u5f0f\u5185\u5b58\u7f13\u5b58\u53ef\u914d\u7f6e\u5316 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3POKD"},"#I3POKD")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u6587\u6863")," \u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTSettings")," \u914d\u7f6e\u72ec\u7acb\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PQGW"},"#I3PQGW")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8f6f\u5220\u9664\u5982\u679c\u6570\u636e\u4e0d\u5b58\u5728\uff0c\u5219\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PTVB"},"#I3PTVB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u4e2a\u7c7b\u96c6\u6210\u6d4b\u8bd5\u4f1a\u9020\u6210\u6570\u636e\u5e93\u5b9a\u4f4d\u5668\u591a\u6b21\u6ce8\u518c\uff0c\u65e0\u6cd5\u8fd0\u884c\u6240\u6709\u6d4b\u8bd5\uff0c\u53ea\u80fd\u4e00\u4e2a\u7c7b\u4e00\u4e2a\u7c7b\u7684\u8fd0\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3PXGY"},"#I3PXGY"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v220-\u5df2\u53d1\u5e03"},"v2.2.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Clay")," \u7c98\u571f\u7c7b\u578b\uff0c\u652f\u6301\u8ba9 ",(0,l.kt)("inlineCode",{parentName:"li"},"C#")," \u521b\u5efa\u4e00\u4e2a\u5f31\u7c7b\u578b\u5bf9\u8c61\u5e76\u64cd\u4f5c\u5f31\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O2QQ"},"#I3O2QQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create")," \u5e26\u8fd4\u56de\u503c\u91cd\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O47J"},"#I3O47J")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.Create()")," \u4e00\u7cfb\u5217\u65b9\u6cd5\u652f\u6301\u4f20\u5165\u4f5c\u7528\u57df\u5de5\u5382 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAP5"},"#I3OAP5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u4e8b\u4ef6\u603b\u7ebf\u540c\u6b65\u6267\u884c\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAW2"},"#I3OAW2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidation]")," \u8df3\u8fc7\u7a7a\u5b57\u7b26\u4e32\u548c\u7a7a\u503c\u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OGEN"},"#I3OGEN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker Service")," \u53ef\u914d\u7f6e\u662f\u5426\u81ea\u52a8\u6ce8\u518c ",(0,l.kt)("inlineCode",{parentName:"li"},"Worker")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OLW4"},"#I3OLW4")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"cancelInNoneNextTime: false")," \u4e00\u6b21\u4e5f\u4e0d\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O3N0"},"#I3O3N0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," SpareTime \u81ea\u5b9a\u4e49\u4e0b\u6b21\u6267\u884c\u65f6\u95f4\u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O46X"},"#I3O46X")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"false")," \u65f6\uff0c\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u63d0\u4ea4\u62e6\u622a\u5668\u672a\u6dfb\u52a0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAWX"},"#I3OAWX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},'[Consumes("application/x-www-form-urlencoded")]')," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"ModelQuery")," \u914d\u7f6e\u540c\u65f6\u914d\u7f6e\u5bfc\u81f4\u7a7a\u5f15\u7528\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ODUR"},"#I3ODUR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5728 Grpc \u4e2d\u4f7f\u7528 jwt \u6388\u6743\u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OW3I"},"#I3OW3I")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u53d1\u5e03\u540e\u4ee3\u7801\u7cbe\u7b80\u914d\u7f6e\uff0c\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6587\u4ef6\u5939\u8f93\u51fa ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OAPF"},"#I3OAPF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u81ea\u52a8\u5237\u65b0 Token \u673a\u5236\uff0c\u65b0\u589e\u5bb9\u9519\u503c\u5904\u7406\uff0c\u89e3\u51b3\u5e76\u53d1 Token \u5237\u65b0\u5931\u8d25\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OGYF"},"#I3OGYF")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7c98\u571f\u5bf9\u8c61\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OG18"},"#I3OG18")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebAPI \u5982\u4f55\u83b7\u53d6\u63a5\u6536\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O29B"},"#I3O29B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5b9a\u65f6\u4efb\u52a1\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Scope.CreateUow")," \u5f15\u53d1\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O2CD"},"#I3O2CD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5355\u6587\u4ef6\u53d1\u5e03\u7a0b\u5e8f\u5de5\u4f5c\u4e0d\u6b63\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O4D8"},"#I3O4D8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u540c\u65f6\u914d\u7f6e\u79df\u6237\u8fc7\u6ee4\u5668\u548c\u8f6f\u5220\u9664\u8fc7\u6ee4\u5668\uff0c\u6700\u7ec8\u7684 sql \u53ea\u751f\u6210\u4e86\u4e00\u79cd\u8fc7\u6ee4\u6761\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OB0A"},"#I3OB0A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," HTTP \u91cd\u5b9a\u5411 HTTPS \u540e\u8de8\u57df\u5931\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3OB8R"},"#I3OB8R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728 PostgreSql \u6570\u636e\u5e93\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"rep.FirstOrDefault(u => u.Id == UserId);")," \u5f15\u8d77\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3O5OF"},"#I3O5OF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5b9a\u65f6\u4efb\u52a1\u6709\u65f6\u80fd\u89e6\u53d1\u6709\u65f6\u4e0d\u80fd\u89e6\u53d1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ORBE"},"#I3ORBE"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v210-\u5df2\u53d1\u5e03"},"v2.1.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"ISpareTimeWorker")," \u65b9\u5f0f\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},'[SpareTime("{\u914d\u7f6e\u8def\u5f84}}]')," \u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NTUX"},"#I3NTUX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u65f6\u4efb\u52a1\u652f\u6301\u5f02\u6b65\u59d4\u6258 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NP96"},"#I3NP96")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8f7b\u91cf\u7ea7\u5206\u5e03\u5f0f\u8fde\u7eed GUID \u751f\u6210\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NKLZ"},"#I3NKLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ClayObject")," \u6a21\u5757\uff0c\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"ExpandoObject")," \u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"IDictionary")," \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N3J4"},"#I3N3J4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Scoped.CreateUow(handler)")," \u521b\u5efa\u4f5c\u7528\u57df\u5e76\u81ea\u52a8\u63d0\u4ea4\u6570\u636e\u5e93\u66f4\u6539\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NU3G"},"#I3NU3G")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c4\u8303\u5316\u7ed3\u679c\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"OnResponseStatusCodes")," \u65b9\u6cd5\uff0c\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyResultStatusCodesOptions")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NDB9"},"#I3NDB9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("strong",{parentName:"li"},"\u96ea\u82b1 ID \u5b9e\u73b0\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"strong",href:"https://gitee.com/dotnetchina/Furion/issues/I3NKLZ"},"#I3NKLZ"))))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u80fd\u652f\u6301\u975e int \u7c7b\u578b\u7684\u679a\u4e3e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NQM8"},"#I3NQM8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u7ebf\u7a0b\u6c60\u591a\u7ebf\u7a0b\u5e76\u53d1\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NR4L"},"#I3NR4L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u63a7\u5236\u5668\u8def\u7531\u540e\u4e14\u4e3a\u65b9\u6cd5\u53c2\u6570\u6307\u5b9a\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiSeat]")," \u540e\u751f\u6210\u8def\u7531\u91cd\u590d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NRF6"},"#I3NRF6")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u652f\u6301\u5e94\u7528\u542f\u52a8\u7684\u65f6\u5019\u8fc1\u79fb\u79cd\u5b50\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NH3M"},"#I3NH3M")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5206\u5e03\u5f0f ID \u751f\u6210\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B6CX"},"#I3B6CX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u6a21\u5757\u5316\u5f00\u53d1\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NSUS"},"#I3NSUS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," 20.4 \u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u5f0f > \u9519\u8bef",(0,l.kt)("inlineCode",{parentName:"li"},"ToAESDecrypt")," \u5199\u6210\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"ToToAESDecrypt")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NNKV"},"#")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6709\u5173\u3010\u5b9a\u65f6\u4efb\u52a1/\u59d4\u6258\u3011\u7684\u7591\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N3EW"},"#I3N3EW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u7edf\u4e00\u8fd4\u56de\u683c\u5f0f\u652f\u6301\u81ea\u5b9a\u4e49 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3NU1G"},"#I3NU1G"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v200-\u5df2\u53d1\u5e03"},"v2.0.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u53f0\u5e94\u7528\u7a0b\u5e8f\u53ca Worker Services \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K4DG"},"#I3K4DG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b8c\u6574\u4efb\u52a1\u8c03\u5ea6\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IRUX"},"#I3IRUX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Cron")," \u8868\u8fbe\u5f0f\u89e3\u6790 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IQ9Y"},"#I3IQ9Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u81ea\u5b9a\u4e49\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"swagger.json")," \u5730\u5740\u6a21\u677f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IHMX"},"#I3IHMX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u914d\u7f6e\u52a8\u6001 WebApi \u533a\u57df ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IJAZ"},"#I3IJAZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u65b0\u589e\u652f\u6301\u4f20\u5165\u670d\u52a1\u63d0\u4f9b\u5668 ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceProvider")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IVBL"},"#I3IVBL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u914d\u7f6e\u9009\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"SupportPackageNamePrefixs")," \u914d\u7f6e\uff0c\u652f\u6301\u914d\u7f6e\u5305\u524d\u7f00 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K0SN"},"#I3K0SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e94\u7528\u542f\u52a8\u65f6\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"referenceassembly")," \u7c7b\u578b\u7a0b\u5e8f\u96c6\u626b\u63cf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K0SN"},"#I3K0SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4f9d\u8d56\u6ce8\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"AOP")," \u62e6\u622a\u83b7\u53d6\u65b9\u6cd5\u771f\u5b9e\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3LZBX"},"#I3LZBX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," EFCore \u624b\u52a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"SaveChanges()")," \u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N01Y"},"#I3N01Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Cors")," \u8de8\u57df\u66f4\u591a\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3N2J0"},"#I3N2J0")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5b8c\u6574\u4efb\u52a1\u8c03\u5ea6\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IRUX"},"#I3IRUX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u65e5\u5fd7\u6a21\u5757\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J2K0"},"#I3J2K0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6a21\u677f\u5f15\u64ce\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J46E"},"#I3J46E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5e95\u5c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCoreRepository")," \u4ed3\u50a8 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J6W5"},"#I3J6W5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," sql \u5b57\u7b26\u4e32\u62d3\u5c55\u5e95\u5c42\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IVCE"},"#I3IVCE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u5e95\u5c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlRepository")," \u6240\u6709\u903b\u8f91\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J6V6"},"#I3J6V6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6570\u636e\u5e93\u5b9e\u4f53\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J609"},"#I3J609")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4e8b\u4ef6\u4e8b\u4ef6\u603b\u7ebf\u540c\u6b65\u6267\u884c\u4e3a\u5f02\u6b65\u65b9\u5f0f\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J0WA"},"#I3J0WA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u6846\u67b6\u5e95\u5c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext.IsAjaxRequest()")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IVAA"},"#I3IVAA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes.Required")," \u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3KR85"},"#I3KR85")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5173\u95ed ",(0,l.kt)("inlineCode",{parentName:"li"},"InjectMiniProfiler")," \u53c2\u6570\u540e\u5185\u5b58\u7f13\u5b58\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IHLR"},"#I3IHLR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5728\u591a\u79df\u6237\u4e2d\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Tenant")," \u5c5e\u6027\u51fa\u73b0\u5076\u7136\u6027\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u88ab\u91ca\u653e\u7684\u60c5\u51b5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IC70"},"#I3IC70")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Sql \u4ee3\u7406\u4e2d\u5982\u679c\u8fd4\u56de\u57fa\u5143\u7c7b\u578b\u629b\u51fa\u4e0d\u80fd\u5c06 object \u8f6c\u6362\u6210\u5bf9\u5e94\u7c7b\u578b\u7684\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IC84"},"#I3IC84")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b58\u50a8\u8fc7\u7a0b\u591a\u8fd4\u56de\u503c\u7684\u65f6\u5019\uff0coutputvalues \u7684 name \u4e0d\u662f\u5b9a\u4e49\u7684 MSG \u7684 name\uff0c\u662f Msg \u7c7b\u578b\u3002 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IC7Y"},"#I3IC7Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," PhoneNumber \u624b\u673a\u53f7\u9a8c\u8bc1\u6b63\u5219\u8868\u8fbe\u5f0f\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ID10"},"#I3ID10")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165 AOP \u62e6\u622a\u65e0\u6cd5\u6355\u83b7\u5185\u90e8\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IGCC"},"#I3IGCC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5168\u5c40\u62e6\u622a\u6807\u8bb0\u5f02\u5e38\u5df2\u88ab\u5904\u7406\u540e\u5f02\u5e38\u8fc7\u6ee4\u5668\u4f9d\u7136\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J463"},"#I3J463")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u5168\u5c40\u5f02\u5e38\u62e6\u622a\u5668\u4e0d\u8d77\u4f5c\u7528 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K1SJ"},"#I3K1SJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5728 WorkerService \u6a21\u5f0f\u4e0b\uff0c\u8fd8\u662f\u4f7f\u7528 WebHostEnvironment \u6765\u5224\u65ad Host \u73af\u5883\uff0c\u4f1a\u5bfc\u81f4\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3LCQY"},"#I3LCQY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5b9a\u65f6\u4efb\u52a1 ",(0,l.kt)("inlineCode",{parentName:"li"},"DoOnce")," \u629b\u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3M0ZT"},"#I3M0ZT")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u542f\u52a8\u65f6\u7a0b\u5e8f\u96c6\u626b\u63cf\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K0SN"},"#I3K0SN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},'App.GetConfig<>("key")')," \u4e0d\u652f\u6301\u83b7\u53d6\u5355\u4e2a\u503c\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ILF1"},"#I3ILF1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," UrlEncode \u5e94\u8be5\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Uri.EscapeDataString()")," \u800c\u4e0d\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpUtility.UrlEncode")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ICTK"},"#I3ICTK")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u4f4d\u4efb\u52a1\u3001\u540e\u53f0\u4efb\u52a1\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3JHHG"},"#I3JHHG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8f85\u52a9\u89d2\u8272\u670d\u52a1\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3K5GN"},"#I3K5GN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u52a8\u6001 WebAPI\u3001\u89c4\u8303\u5316\u6587\u6863\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u6821\u9a8c\uff0c\u81ea\u5b9a\u4e49 ErrorMessage \u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ICL3"},"#I3ICL3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6700\u65b0 issue \u4e2d\u65b0\u589e\u7684\u201c\u65b0\u589e\u5e38\u7528\u7684 JSON \u5e8f\u5217\u5316\u65b9\u6cd5\u201d \u4f1a\u5bfc\u81f4 AOP \u62e6\u622a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I7VE"},"#I3I7VE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Furion.DatabaseAccessor.PrivateEntityBase \u4e2d\u7684 TenantId \u6570\u636e\u7c7b\u578b\u8bbe\u7f6e\u4e3a object ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IQV6"},"#I3IQV6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6709\u5173\u5f02\u5e38\u62e6\u622a\u548c\u5904\u7406\u7684\u7591\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IUFZ"},"#I3IUFZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DataValidation")," \u5728\u7a7a\u503c\u7684\u60c5\u51b5\u4e0b\u88ab\u5ffd\u7565\u6389\u4e86",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IWSM"},"#I3IWSM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u65e5\u5fd7\u6587\u6863\u6ca1\u6709\u66f4\u65b0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J1DX"},"#I3J1DX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5bf9\u4e8e webapi \u7b80\u5355\u7c7b\u578b\u53c2\u6570\uff0c\u662f\u5426\u53ef\u4ee5\u4ee5 json \u65b9\u5f0f\u63d0\u4ea4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J18I"},"#I3J18I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IUnifyResultProvider")," \u5b9e\u73b0\u4e2d\u5982\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyModel")," \u7684 type \u4e0d\u662f\u8303\u578b\u4f1a\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3JBXF"},"#I3JBXF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u6a21\u5757\u5316\u5f00\u53d1\u65b0\u529f\u80fd\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3J7ZZ"},"#I3J7ZZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5efa\u8bae\u589e\u52a0\u5fae\u670d\u52a1\u4e2d\u95f4\u4ef6\u7684\u96c6\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3JTZQ"},"#I3JTZQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u90e8\u7f72\u7684 swagger \u7684 MiniProfiler js \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3IWLR"},"#I3IWLR"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1190-\u5df2\u53d1\u5e03"},"v1.19.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore 5.0")," \u652f\u6301 ",(0,l.kt)("strong",{parentName:"li"},"SqlServer 2005-2008")," \u6570\u636e\u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HZZ6"},"#I3HZZ6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u9ad8\u7ea7\u4ee3\u7406\u652f\u6301\u6a21\u677f\u66ff\u6362\u4e86 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HHWU"},"#I3HHWU")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HH2T"},"#I3HH2T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"PBKDF2")," \u52a0\u5bc6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HN7A"},"#I3HN7A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e38\u7528\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u64cd\u4f5c\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HUYO"},"#I3HUYO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6240\u6709\u89e3\u6790\u670d\u52a1\u7684\u65b9\u6cd5\u90fd\u652f\u6301\u4f20\u5165 ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceProvidier")," \u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HXEU"},"#I3HXEU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," .NET 5 SDK \u81f3 5.0.5 \u7248\u672c"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/x-www-form-urlencoded")," \u81ea\u52a8\u88ab\u8f6c\u7801\u4e86 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HDPC"},"#I3HDPC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISqlDispatchProxy")," \u8c03\u7528\u5e26\u8fd4\u56de\u503c\u7684\u5b58\u50a8\u8fc7\u7a0b\u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HISS"},"#I3HISS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6570\u636e\u5e93\u5de5\u4f5c\u5355\u5143\u5f02\u5e38\u65e0\u6cd5\u56de\u6eda\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I2KN"},"#I3I2KN")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/zuohuaijun/Admin.NET/issues/I3HYN5"},"#I3HYN5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Serilog \u65e5\u5fd7\u751f\u6210\u592a\u591a\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I2PN"},"#I3I2PN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"1.18.0")," \u7248\u672c\u6570\u636e\u5e93\u8fde\u63a5\u6c60\u5b58\u5728\u8fde\u63a5\u6cc4\u6f0f\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I5KO"},"#I3I5KO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Sqlite \u63d0\u793a\u4e8b\u52a1\u5df2\u5b8c\u6210\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I9F2"},"#I3I9F2")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89c6\u56fe\u6a21\u677f\u529f\u80fd\uff0c\u9ed8\u8ba4\u652f\u6301\u53ef\u679a\u4e3e\u6cdb\u578b\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3GYEE"},"#I3GYEE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5f00\u53d1\u9636\u6bb5 MiniProfiler \u6253\u5370\u6570\u636e\u5e93\u76f8\u5173\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I8VQ"},"#I3I8VQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," EFCore 5.0 \u672a\u63d0\u4f9b Sqlite \u6570\u636e\u5e93 DataAdapter \u7684\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3I9FC"},"#I3I9FC")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u591a\u79df\u6237\u3001\u4ed3\u50a8\u3001\u65e5\u5fd7\u3001\u5e8f\u5217\u5316\u7b49\u6587\u6863\u3002"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5efa\u8bae MVC \u6a21\u5f0f\u4e0b\u589e\u52a0 Furion \u7684\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3GY4R"},"#I3GY4R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6570\u636e\u5e93\u5173\u8054\u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3H5QP"},"#I3H5QP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," 1.17.5 \u7248\u672c suagger \u65e0\u6cd5\u751f\u6210 swagger.json ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HGPZ"},"#I3HGPZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Serilog \u6269\u5c55+dll \u542f\u52a8\u4e0e swagger \u7684 MiniProfiler \u51b2\u7a81 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HWJM"},"#I3HWJM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Sql \u9ad8\u7ea7\u4ee3\u7406\u8fd4\u56de DataTable \u65f6\uff0c\u7ed3\u679c\u4e3a\u7a7a\u53d6\u4e0d\u5230\u8bb0\u5f55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HUWG"},"#I3HUWG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Task.Run \u64cd\u4f5c\u6570\u636e\u5e93\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3HZ9D"},"#I3HZ9D"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1180-\u5df2\u53d1\u5e03"},"v1.18.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," 11 \u7248\u672c\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EVL5"},"#I3EVL5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," \u5b98\u65b9\u5305 ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql.EntityFrameworkCore")," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E6J1"},"#I3E6J1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApi")," \u53c2\u6570 ",(0,l.kt)("inlineCode",{parentName:"li"},"[FromQury]")," \u5316 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EFYJ"},"#I3EFYJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u516c\u5f00\u6846\u67b6\u5e95\u5c42\u4f9d\u8d56\u6ce8\u5165\u626b\u63cf\u6ce8\u518c\u62d3\u5c55 ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddRisterTypes(types)")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EIV3"},"#I3EIV3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," SqlSugar \u5de5\u4f5c\u5355\u5143\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EJO5"},"#I3EJO5")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6c60\u4e00\u65e6\u6709\u4e0a\u4e0b\u6587\u64cd\u4f5c\u5931\u8d25\u8fd8\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u51fa\u73b0\u4e8c\u6b21\u63d0\u4ea4\u6570\u636e\u5e93\u7684\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EIJJ"},"#I3EIJJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4e0d\u540c\u6570\u636e\u5e93\u547d\u4ee4\u53c2\u6570\u524d\u7f00\u90fd\u6dfb\u52a0\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"@")," \u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EBJP"},"#I3EBJP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5c1d\u8bd5\u4fee\u590d\u4e8b\u4ef6\u603b\u7ebf\u7ebf\u7a0b\u5b89\u5168\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EGSB"},"#I3EGSB")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/236"},"#PR236")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextExtensions")," \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"SignoutToSwagger")," \u65b9\u6cd5\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EHNQ"},"#I3EHNQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5982\u679c\u52a8\u6001 WebApi \u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[ApiController]")," \u7279\u6027\u540e\uff0c\u5bfc\u81f4\u8def\u7531\u53c2\u6570\u91cd\u590d\u751f\u6210 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EOQQ"},"#I3EOQQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5982\u679c\u6ca1\u6709\u4efb\u4f55 webapi \u63a7\u5236\u5668\u65f6\uff0c\u6587\u6863\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EVLB"},"#I3EVLB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165\u6cdb\u578b\u7c7b\u578b\u6ce8\u518c\u5931\u8d25 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EX66"},"#I3EX66")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," SqlSugar \u62d3\u5c55\u5e93\u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"Context")," \u5c5e\u6027\u7c7b\u578b\u672a ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugarClient")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EHXA"},"#I3EHXA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5237\u65b0 Token \u9ed1\u540d\u5355 Redis \u4e2d\u5206\u7ec4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EQWO"},"#I3EQWO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8fdc\u7a0b\u8bf7\u6c42\u5728\u8bf7\u6c42\u62e6\u622a\u6b21\u53d1\u8d77\u4e8c\u6b21\u8bf7\u6c42\u5bfc\u81f4\u5f02\u5e38\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ER71"},"#I3ER71")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u591a\u79df\u6237\u9ed8\u8ba4\u7f13\u5b58\u6539\u4e3a\u5206\u5e03\u5f0f\u7f13\u5b58 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EXEU"},"#I3EXEU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u64cd\u4f5c\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E84X"},"#I3E84X")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u65b9\u4fbf\u7684\u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDynamicApiController")," API \u4ea7\u751f\u7684 url \u548c \u8c13\u8bcd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ED17"},"#I3ED17")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Code First -\u6267\u884c\u547d\u4ee4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u9047\u5230\u4e86\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EHD0"},"#I3EHD0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," tools v1.16.0 \u65e0\u6cd5\u751f\u6210\u5b9e\u4f53\uff0c\u4e00\u76f4\u63d0\u793a Missing required argument ",(0,l.kt)("inlineCode",{parentName:"li"},""),". ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ENZ8"},"#I3ENZ8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Authorize \u7684 Logout \u6309\u94ae\uff0c\u65e0\u6cd5\u5b9e\u65f6\u8bf7\u7a7a token",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3EOF9"},"#I3EOF9"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1170-\u5df2\u53d1\u5e03"},"v1.17.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001 WebAPI \u652f\u6301\u7ee7\u627f\u57fa\u7c7b\u914d\u7f6e\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D5PX"},"#I3D5PX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"multipart/form-data")," \u5185\u5bb9\u7c7b\u578b\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D7KG"},"#I3D7KG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b57\u7b26\u4e32\u52a0\u5bc6\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DHBW"},"#I3DHBW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65b0\u589e\u8fdc\u7a0b\u8bf7\u6c42\u53ef\u76f4\u63a5\u4e0b\u8f7d\u8fd4\u56de\u503c\u5185\u5bb9\u8f6c\u4e3a string \u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DIGR"},"#I3DIGR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u5730\u5740\u652f\u6301\u6a21\u677f\u5f15\u64ce ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D5Y8"},"#I3D5Y8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[DataValidation]")," \u9519\u8bef\u6d88\u606f\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"string.Format")," \u64cd\u4f5c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E08W"},"#I3E08W")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpRequestMessage")," \u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppendQueries()")," \u8ffd\u52a0\u66f4\u591a ",(0,l.kt)("inlineCode",{parentName:"li"},"query")," \u53c2\u6570\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E3DI"},"#I3E3DI")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository.AsAsyncEnumerable()")," \u8fd4\u56de\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DIQ1"},"#I3DIQ1"),"\uff0c\u8c03\u6574\u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"rep.AsQueryable().ToListAsync()")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u9a8c\u8bc1\u5931\u8d25\u540e\u4e5f\u6253\u5370\u4e86\u6210\u529f\u7684\u5b57\u6bb5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CVBS"},"#I3CVBS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"contentType")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"application/x-www-form-urlencoded")," \u65e0\u6548\u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CWBS"},"#I3CWBS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u65e0\u6cd5\u6253\u5370\u5b8c\u6574\u7684\u8bf7\u6c42\u5730\u5740\uff0c\u6bd4\u5982\u914d\u7f6e\u4e86 HttpClient \u4e4b\u540e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CY42"},"#I3CY42")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7a0b\u5e8f\u542f\u52a8\u65f6\u6392\u9664\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u7b97\u6cd5\u4e0d\u5bf9\uff0c\u5e94\u8be5\u91c7\u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D9E7"},"#I3D9E7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u6210\u529f\u8bf7\u6c42\u62e6\u622a\u4e0d\u751f\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DOE4"},"#I3DOE4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u6570\u636e\u5e93\u5207\u6362\u4e3a oracle \u65f6\uff0c\u7cfb\u7edf\u627e\u4e0d\u5230\u6307\u5b9a\u7684\u6587\u4ef6 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle.ManagedDataAccess.Core")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DYM3"},"#I3DYM3")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u83b7\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT token")," \u4fe1\u606f\u652f\u6301\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u524d\u7f00\uff0c\u5982 ",(0,l.kt)("inlineCode",{parentName:"li"},"Bearer ")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DJIV"},"#I3DJIV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5237\u65b0 Token \u9ed1\u540d\u5355\u5b58\u50a8\u65b9\u5f0f\uff0c\u5c06\u5185\u5b58\u7f13\u5b58\u8c03\u6574\u4e3a\u5206\u5e03\u5f0f\u7f13\u5b58 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DPBR"},"#I3DPBR")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u8fdc\u7a0b\u8bf7\u6c42\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CPJO"},"#I3CPJO")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"LinqExpression.And")," \u6ca1\u6709 2 \u4e2a\u53c2\u6570\u7684\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CXKZ"},"#I3CXKZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5f02\u5e38\u4fe1\u606f \u5982\u4f55\u8bb0\u5f55\u5230\u6570\u636e\u5e93\u4e2d:) ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DDGO"},"#I3DDGO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u65e0\u952e\u5b9e\u4f53\u9009\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityNotKey")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DWRF"},"#I3DWRF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6839\u636e\u4e3b\u952e\u5220\u9664\u4e00\u6761\u8bb0\u5f55\u4e0d\u6210\u529f\uff0c\u65e0\u9519\u8bef\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DWWF"},"#I3DWWF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u81ea\u5b9a\u4e49\u63a5\u53e3\u8fd4\u56de\u683c\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3DZN6"},"#I3DZN6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," DynamicApiController \u5982\u4f55\u5728\u8fd0\u884c\u65f6\u51b3\u5b9a\u662f\u5426\u516c\u5f00\u4e00\u4e2a Action ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3D5UL"},"#I3D5UL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.DatabaseAccessor.DbHelpers")," \u65b9\u6cd5\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"ConvertToDbParameters")," \u662f\u4e0d\u662f\u5e94\u8be5\u8fc7\u6ee4\u6389\u8d34 ",(0,l.kt)("inlineCode",{parentName:"li"},"NotMapped")," \u7684\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3E2XS"},"#I3E2XS"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1160-\u5df2\u53d1\u5e03"},"v1.16.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IDGenerator")," \u96ea\u82b1 ID \u7b97\u6cd5\uff0c\u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/yitter/idgenerator"},"idgenerator")," \u4f5c\u8005\u63d0\u4ea4 PR ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/204"},"#PR204")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B60S"},"#I3B60S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DbContext")," \u5237\u65b0\u591a\u79df\u6237\u7f13\u5b58\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39N5U"},"#I39N5U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u81ea\u5b9a\u4e49\u914d\u7f6e\u5355\u4e2a\u63a7\u5236\u5668\u540d\u79f0\u89c4\u8303\uff0c\u5982\u5c0f\u5199\u8def\u7531 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A5XL"},"#I3A5XL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u83b7\u53d6\u5f53\u524d\u9009\u62e9\u533a\u57df\u8bed\u8a00\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BSDH"},"#I3BSDH")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," .NET 5 SDK \u81f3 5.0.4 \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ASTL"},"#I3ASTL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u8fdc\u7a0b\u8bf7\u6c42\u6240\u6709\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2LB7M"},"#I2LB7M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316\u529f\u80fd\uff0c\u63d0\u4f9b\u7edf\u4e00\u7684\u62bd\u8c61\u63a5\u53e3\uff0c\u65b9\u4fbf\u81ea\u7531\u66ff\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39GT9"},"#I39GT9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de\u6d88\u606f\u6a21\u578b\u53ca\u89c4\u8303\u5316\u63a5\u53e3\u9a8c\u8bc1\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AFQW"},"#I3AFQW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u63d2\u4ef6\u5f0f\u5f00\u53d1\u70ed\u63d2\u62d4\u529f\u80fd\uff0c\u5b9e\u73b0\u52a8\u6001\u52a0\u8f7d\u5378\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/200"},"#PR200"),", \u611f\u8c22 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/samwangcoder"},"@SamWangCoder")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonSerializerUtility")," \u9759\u6001\u7c7b\u53ca\u79fb\u9664\u5c5e\u6027\u5927\u5199\u5e8f\u5217\u5316\u62d3\u5c55\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AFRJ"},"#I3AFRJ")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u6a21\u5f0f\u4e0b\u4e0d\u652f\u6301\u9a8c\u8bc1\u81ea\u5b9a\u4e49\u9a8c\u8bc1\u903b\u8f91 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39LM5"},"#I39LM5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9a8c\u8bc1\u6570\u503c\u7c7b\u578b\u6b63\u5219\u8868\u8fbe\u5f0f\u4e0d\u652f\u6301\u8d1f\u6570 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39YUV"},"#I39YUV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6846\u67b6\u542f\u52a8\u65f6\u65e0\u6cd5\u52a0\u8f7d\u672a\u88ab\u5f15\u7528\u7684\u7a0b\u5e8f\u96c6 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A3Z4"},"#I3A3Z4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCoreRepository.IsAttached()")," \u65b9\u6cd5\u5224\u65ad\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A824"},"#I3A824")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u52a8\u6001API")," \u9a7c\u5cf0\u663e\u793a\u914d\u7f6e\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AF32"},"#I3AF32")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps1")," \u4e0d\u652f\u6301\u65b0\u7248\u672c ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3APO9"},"#I3APO9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u5b9e\u4f53\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"[Table]")," \u7279\u6027\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BAYH"},"#I3BAYH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 WebAPI ",(0,l.kt)("inlineCode",{parentName:"li"},"CheckIsSplitCamelCase")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BLKX"},"#I3BLKX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u52a8\u6001 WebAPI \u914d\u7f6e\u4fdd\u7559 Action \u7684 Async \u540e\u7f00\u65e0\u6548\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3C3DA"},"#I3C3DA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," Token \u5237\u65b0\u540e\u65e7\u7684\u5237\u65b0 Token \u4f9d\u65e7\u53ef\u7528 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3C8ZH"},"#I3C8ZH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u8bed\u8a00 ",(0,l.kt)("inlineCode",{parentName:"li"},"Razor")," \u89c6\u56fe\u53d8\u91cf\u591a\u8bed\u8a00\u4e71\u7801\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CBMU"},"#I3CBMU")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u9ed8\u8ba4\u5e8f\u5217\u5316\u63d0\u4f9b\u5668 ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Text.Json")," \u53cd\u5e8f\u5217\u5316\u5b57\u7b26\u4e32\u65f6\u533a\u5206\u5927\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BSXV"},"#I3BSXV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4f18\u5316 ",(0,l.kt)("inlineCode",{parentName:"li"},"MessageCenter")," \u6027\u80fd\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39PRR"},"#I39PRR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6c60\u5c0f\u6027\u80fd\u4f18\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Docker")," \u73af\u5883\u4e0b\u81ea\u52a8\u5316\u90e8\u7f72 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/209"},"#PR209")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5e8f\u5217\u5316 \u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B6D8"},"#I3B6D8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u8de8\u57df\u3001\u5b89\u5168\u6388\u6743\u3001\u5373\u65f6\u901a\u4fe1\u6587\u6863\u3001\u591a\u8bed\u8a00\u3001\u89c4\u8303\u5316\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.SqlSugar")," \u914d\u7f6e\u591a\u4e2a\u6570\u636e\u5e93\u6253\u5370 SQL \u8bed\u53e5\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39PDC"},"#I39PDC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ORACLE")," \u6570\u636e\u5e93\u591a\u79df\u6237\u6a21\u5f0f\u4e0b\u8fd4\u56de\u503c\u4e3a\u6307\u5b9a\u7c7b\u578b\u65f6\u7cfb\u7edf\u5361\u6b7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39RNH"},"#I39RNH")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5047\u5220\u9664\u6307\u5411\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I39XZA"},"#I39XZA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u591a\u8bed\u8a00\u914d\u7f6e\u8282\u662f\u653e\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppSettings")," \u91cc\u9762\u8fd8\u662f\u5916\u9762\u5462\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A4SB"},"#I3A4SB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6ca1\u627e\u5230\u6570\u636e\u5e93\u4e0a\u4e0b\u6587 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3A5HS"},"#I3A5HS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},"QQ")," \u4ea4\u6d41\u7fa4\u5417\uff1f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AAM7"},"#I3AAM7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Vue3")," \u73af\u5883\u4e0b\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"SignalR")," \u8de8\u57df\u51fa\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3ALQ7"},"#I3ALQ7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u53c2\u6570\u975e\u5fc5\u586b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AT02"},"#I3AT02")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," EFCore \u8c03\u7528 Insert \u65f6\u62a5 ",(0,l.kt)("inlineCode",{parentName:"li"},"Unknown column 'Discriminator' in 'field list'")," \u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B2LC"},"#I3B2LC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u9006\u5411 ",(0,l.kt)("inlineCode",{parentName:"li"},"mysql")," \u6570\u636e\u5e93\u65f6 ",(0,l.kt)("inlineCode",{parentName:"li"},"cli")," \u51fa\u73b0\u9519\u8bef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B64F"},"#I3B64F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Sql \u9ad8\u7ea7\u4ee3\u7406\u4f7f\u7528\u8fc7\u7a0b\u4e2d DateTime \u7c7b\u578b\u7684\u53c2\u6570\u5e8f\u5217\u5316\u5931\u8d25 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AZXK"},"#I3AZXK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4f7f\u7528 Mysql \u6267\u884c Add-Migration \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3B8EW"},"#I3B8EW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," Saas \u591a\u79df\u6237\u6a21\u5f0f-\u72ec\u7acb Database \u6a21\u5f0f\u4e0b\u65e0\u6cd5\u83b7\u53d6 Tenant, \u5bfc\u81f4\u65e0\u6cd5\u81ea\u52a8\u5207\u6362\u7684\u95ee\u9898",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3AVXU"},"#I3AVXU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u81ea\u5b9a\u4e49 WebAPI \u7edf\u4e00\u7ed3\u679c\u6a21\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BBYW"},"#I3BBYW")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BBYV"},"#I3BBYV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Web.Entry")," \u9879\u76ee\u65b0\u5efa\u4e86\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller"),"\uff0c\u591a\u4e86\u672a\u77e5\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BKH5"},"#I3BKH5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AOP")," \u62e6\u622a\u5982\u4f55\u89e3\u6790\u670d\u52a1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3BUM3"},"#I3BUM3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebAPI \u8fd4\u56de\u53c2\u6570\u88ab\u7701\u7565 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3C2XR"},"#I3C2XR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u8bbe\u7f6e\u67d0\u4e00\u4e2a\u63a5\u53e3\u54cd\u5e94\u6570\u636e\u4e0d\u81ea\u52a8\u8f6c\u5c0f\u5199\uff0c\u6309\u539f\u59cb\u5b57\u6bb5\u540d\u8fd4\u56de ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38L9B"},"#I38L9B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," code first \u5982\u4f55\u914d\u7f6e\u81ea\u52a8\u8fc1\u79fb ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CCR0"},"#I3CCR0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," webapi \u6df7\u5408\u6388\u6743\u5982\u4f55\u533a\u5206\u4e0d\u540c\u7cfb\u7edf ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CJCY"},"#I3CJCY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," EFCore \u4e0d\u652f\u6301\u9012\u5f52\u65e0\u9650\u7ea7\u904d\u5386\u5173\u7cfb ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3CET9"},"#I3CET9"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1150-\u5df2\u53d1\u5e03"},"v1.15.0 \uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8df3\u8fc7\u7279\u5b9a\u5b9e\u4f53\u6570\u636e\u5e93\u64cd\u4f5c\u76d1\u542c\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I386LB"},"#I386LB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityChangedListener")," \u589e\u52a0\u5bf9 ",(0,l.kt)("inlineCode",{parentName:"li"},"OldEntity")," \u7684\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I385X2"},"#I385X2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9e\u65f6\u901a\u4fe1\u81ea\u52a8\u914d\u7f6e\u96c6\u7ebf\u5668\u62d3\u5c55\u53ca\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I387QX"},"#I387QX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mapster")," \u62d3\u5c55\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"IMapper")," \u4f9d\u8d56\u6ce8\u5165\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38C7C"},"#I38C7C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[AppDbContext]")," \u7279\u6027\u9ed8\u8ba4\u6784\u9020\u51fd\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38J97"},"#I38J97")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyContext.GetExceptionMetadata(context)")," \u8fd4\u56de\u9519\u8bef\u7801\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38ONX"},"#I38ONX")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6b21\u5faa\u73af\u4e2d\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetNewDbContext()")," \u8fd8\u662f\u83b7\u53d6\u5230\u540c\u4e00\u4e2a\u5bf9\u8c61 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38NNP"},"#I38NNP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u8fc7\u6ee4\u6389 ",(0,l.kt)("inlineCode",{parentName:"li"},"object ")," \u7c7b\u578b\u5c5e\u6027\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38FHL"},"#I38FHL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u540c\u4e00\u7c7b\u4e0d\u652f\u6301\u591a\u7ee7\u627f ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityChangedListener")," \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38UQJ"},"#I38UQJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u5e8f\u5217\u5316\u5c5e\u6027\u540d\u79f0\u5bfc\u81f4\u9a8c\u8bc1\u5931\u8d25\u5c5e\u6027\u4e0d\u5339\u914d\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38W8Z"},"#I38W8Z")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4ee3\u7801\u4e0d\u89c4\u8303\u547d\u540d\u5bfc\u81f4\u5f00\u53d1\u8005\u9605\u8bfb\u4ee3\u7801\u65f6\u4ea7\u751f\u6b67\u4e49"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"FluentValidation")," \u96c6\u6210\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38IOT"},"#I38IOT")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6\u7248\u672c\u5411\u4e0b\u517c\u5bb9\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I38WMZ"},"#I38WMZ"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1140\u5df2\u53d1\u5e03"},"v1.14.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," 5.0 \u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oracle")," \u6570\u636e\u5e93\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37Z8E"},"#I37Z8E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u63a7\u5236\u662f\u5426\u5728\u5f00\u53d1\u73af\u5883\u4e0b\u663e\u793a\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37YQ2"},"#I37YQ2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[NonUnify]")," \u652f\u6301\u5728\u7c7b\u4e2d\u8d34\u6b64\u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I359Q6"},"#I359Q6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7f51\u7edc\u8bf7\u6c42")," \u5b57\u7b26\u4e32 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpClient")," \u62e6\u622a\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I35F3E"},"#I35F3E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpRequest")," \u83b7\u53d6\u8fdc\u7a0b\u5730\u5740\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3688Z"},"#I3688Z")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddMvcFilter<>")," \u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u8fc7\u6ee4\u5668\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I368BH"},"#I368BH")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u6846\u67b6\u4f9d\u8d56\u7684 .NET 5 SDK \u81f3\u6700\u65b0\u7248 5.0.3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37YQQ"},"#I37YQQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swashbuckle.AspNetCore")," \u7ec4\u4ef6\u5305\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"6.0.x")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37EZK"},"#I37EZK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u62d3\u5c55\u7c7b\uff0c\u53ea\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Authentication.JwtBearer")," \u4e2d\u4fdd\u7559 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I35D59"},"#I35D59")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f20\u5165\u9519\u8bef ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u5b57\u7b26\u4e32\u5bfc\u81f4\u81ea\u52a8\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u51fa\u73b0\u5b57\u7b26\u4e32\u8fb9\u754c\u503c\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34ZE5"},"#I34ZE5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u77ac\u65f6\u4f5c\u7528\u57df\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4e5f\u4f1a\u81ea\u52a8\u52a0\u5165\u5de5\u4f5c\u5355\u5143\u5bfc\u81f4\u5199\u65e5\u5fd7\u65f6\u8fde\u9501\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37WTV"},"#I37WTV")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u83b7\u53d6\u7cfb\u7edf\u73af\u5883\u53c2\u6570\u7684\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SR5"},"#I36SR5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u5e95\u5c42\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u8fc7\u6ee4\u5668\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SKA"},"#I36SKA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6dfb\u52a0\u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"Json")," \u5e8f\u5217\u5316\u65f6\u95f4\u9ed8\u8ba4\u65f6\u95f4\u683c\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SL0"},"#I36SL0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," \u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u5305\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"5.0.2.6")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SIG"},"#I36SIG")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u5165\u95e8\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37Z8S"},"#I37Z8S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u66f4\u65b0\u65e5\u5fd7\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36PI0"},"#I36PI0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8bf7\u6c42\u5ba1\u8ba1\u65e5\u5fd7\u3001\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u66f4\u65b0\u65e5\u5fd7\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36PIK"},"#I36PIK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u524d\u7aef\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"axios")," \u8de8\u57df\u914d\u7f6e\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36PIT"},"#I36PIT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App")," \u9759\u6001\u7c7b\u83b7\u53d6\u5e94\u7528\u3001\u73af\u5883\u66f4\u591a\u4fe1\u606f\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I36SOV"},"#I36SOV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u82f1\u6587\u7248 ",(0,l.kt)("inlineCode",{parentName:"li"},"README.md")," \u4ecb\u7ecd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I37QHP"},"#I37QHP"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v1130\u5df2\u53d1\u5e03"},"v1.13.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00\u529f\u80fd\u53ca\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DOCL"},"#I2DOCL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u529f\u80fd\u53ca\u6d88\u606f\u4e2d\u5fc3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I23BKN"},"#I23BKN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5206\u7ec4\u663e\u793a\u9690\u85cf\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AHH8"},"#I2AHH8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u63d2\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AAN8"},"#I2AAN8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"-Namespace")," \u547d\u540d\u7a7a\u95f4\u6307\u5b9a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A175"},"#I2A175")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u89c4\u8303\u5316\u5316\u6587\u6863\u6388\u6743\u5931\u6548\u540e\u81ea\u52a8\u53d6\u6d88\u6388\u6743\u9501 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AIWC"},"#I2AIWC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Request.Body")," \u652f\u6301\u91cd\u590d\u8bfb\u529f\u80fd\uff0c\u4e3b\u8981\u89e3\u51b3\u5fae\u4fe1 SDK \u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AMG0"},"#I2AMG0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42\u529f\u80fd\u53ca\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2APGJ"},"#I2APGJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u5305\u652f\u6301\u6253\u5370 ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u4e2d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ASLS"},"#I2ASLS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccesssor.Dapper")," \u62d3\u5c55\u63d2\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ASYA"},"#I2ASYA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.PetaPoco")," \u62d3\u5c55\u63d2\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AUGA"},"#I2AUGA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42\u5b57\u7b26\u4e32\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CPQ0"},"#I2CPQ0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"PagedList")," \u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CW99"},"#I2CW99")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u652f\u6301\u53c2\u6570\u7279\u6027\u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CX5L"},"#I2CX5L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.User")," \u83b7\u53d6\u5f53\u524d\u6388\u6743\u7528\u6237\u4fe1\u606f\u4fbf\u6377\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CZLO"},"#I2CZLO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u6587\u6863\u53ef\u914d\u7f6e\u529f\u80fd\uff0c\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"appsettings.json")," \u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D1K9"},"#I2D1K9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u62e6\u622a\u5668\u6dfb\u52a0\u65b9\u6cd5\u548c\u65b9\u6cd5\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D2CM"},"#I2D2CM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42\u51fa\u9519\u8fd4\u56de\u9ed8\u8ba4\u503c\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D44M"},"#I2D44M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"body")," \u53c2\u6570\u5e8f\u5217\u5316\u652f\u6301\u8bbe\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"PropertyNamingPolicy")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D685"},"#I2D685")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8fdc\u7a0b\u670d\u52a1\u63a5\u53e3\u5ba2\u6237\u7aef\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D7PS"},"#I2D7PS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AddInject")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UseInject")," \u5141\u8bb8\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"SecurityDefinitions")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"SwaggerUI")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DIMG"},"#I2DIMG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[SecurityDefine]")," \u9ed8\u8ba4\u6784\u9020\u51fd\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DNXT"},"#I2DNXT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AspectDispatchProxy")," \u52a8\u6001\u4ee3\u7406\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO6I"},"#I2DO6I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[QueryParameters]")," \u7279\u6027\uff0c\u652f\u6301\u4e00\u952e\u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"Action")," \u53c2\u6570\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"[FromQuery]")," \u7279\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2G8TF"},"#I2G8TF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001\u65e5\u5fd7\u914d\u7f6e\u53ca\u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2GDGD"},"#I2GDGD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"WebApi")," \u8bf7\u6c42\u8c13\u8bcd\u9ed8\u8ba4\u89c4\u5219\u914d\u7f6e\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M70X"},"#I2M70X")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 5")," SDK \u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},".NET 5.0.2")," \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D0PZ"},"#I2D0PZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6846\u67b6\u5185\u6240\u6709\u62d3\u5c55\u7c7b\u547d\u540d\u7a7a\u95f4\uff0c\u5168\u90e8\u8fc1\u79fb\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.\u6a21\u5757.Extensions")," \u4e0b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AH54"},"#I2AH54")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u8bb0\u4f4f\u6388\u6743\u5b58\u50a8\u65b9\u5f0f\uff0c\u66ff\u6362 ",(0,l.kt)("inlineCode",{parentName:"li"},"Session")," \u5b58\u50a8\u65b9\u5f0f\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"LocalStorage")," \u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AKUA"},"#I2AKUA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u6846\u67b6\u5305\u63cf\u8ff0\u6587\u4ef6\uff0c\u51cf\u5c11\u6846\u67b6\u4f53\u79ef ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2APAU"},"#I2APAU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.CanBeScanTypes")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"App.EffectiveTypes")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B0ZR"},"#I2B0ZR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.ServiceProvider")," \u5c5e\u6027\u5e76\u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetDuplicateXXX")," \u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CYZE"},"#I2CYZE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDuplicateDbContext")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetNewDbContext")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CZ04"},"#I2CZ04")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetSqlDispatchProxy")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetSqlProxy")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO9T"},"#I2DO9T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Aop")," \u670d\u52a1\u62e6\u622a\u5668\uff0c\u652f\u6301\u5f02\u6b65\u3001\u540c\u6b65\u4e24\u79cd\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B9HQ"},"#I2B9HQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u7f51\u7edc\u8bf7\u6c42\u6240\u6709\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BMR7"},"#I2BMR7")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u89c4\u8303\u5316\u5316\u7ed3\u679c\u4e0d\u4e00\u81f4 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ACF3"},"#I2ACF3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u65b0\u589e\u6216\u66f4\u65b0\u5ffd\u7565\u7a7a\u503c\u64cd\u4f5c\u65b9\u6cd5\u62a5\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AB6C"},"#I2AB6C")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Startup.cs")," Aop \u5168\u5c40\u62e6\u622a\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A7T2"},"#I2A7T2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u8fc7\u671f\u540e\u81ea\u52a8\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u65e0\u6cd5\u83b7\u53d6\u6700\u65b0\u7684\u7528\u6237\u4fe1\u606f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AWQI"},"#I2AWQI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},'[ApiDescriptionSettings(Tag="xx")]')," \u5bfc\u81f4 ",(0,l.kt)("inlineCode",{parentName:"li"},"swagger.json")," \u62a5\u9519 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B47R"},"#I2B47R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," sql \u6570\u636e\u5e93\u67e5\u8be2\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"tinyint")," \u7c7b\u578b\u8f6c\u6362\u51fa\u9519 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BEBM"},"#I2BEBM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u591a\u6b21\u5305\u88f9\u7c7b\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BHHZ"},"#I2BHHZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 Api \u57fa\u5143\u7c7b\u578b\u6570\u7ec4\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BMS5"},"#I2BMS5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u67e5\u8be2\u679a\u4e3e\u7c7b\u578b\u8f6c\u6362\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BS2Y"},"#I2BS2Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"string.SqlQuerizeAsync()")," \u62d3\u5c55\u8fd4\u56de\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BSTS"},"#I2BSTS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 Api \u5b50\u7c7b\u91cd\u5199\u7236\u7c7b\u65b9\u6cd5\u5e76\u53d6\u522b\u540d\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2C9VP"},"#I2C9VP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u7f51\u7edc\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"application/json")," \u5e8f\u5217\u5316\u5927\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CRJC"},"#I2CRJC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6570\u636e\u5e93\u5b9a\u4f4d\u5668\u5b9e\u4f53\u5d4c\u5957\u5173\u8054 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CVN0"},"#I2CVN0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8de8\u57df\u54cd\u5e94\u5934\u8bbe\u7f6e\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CW5T"},"#I2CW5T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u7f51\u7edc\u8bf7\u6c42\u4ee3\u7406\u6253\u5370\u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CZBC"},"#I2CZBC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8fdc\u7a0b\u8bf7\u6c42\u54cd\u5e94\u62e6\u622a\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D4DG"},"#I2D4DG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u6846\u67b6 ",(0,l.kt)("inlineCode",{parentName:"li"},"AsQueryable()")," \u4e00\u76f4\u8ffd\u52a0\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DH1D"},"#I2DH1D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u52a8\u5237\u65b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO29"},"#I2DO29")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u751f\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u4e0d\u4f20\u8fc7\u671f\u65f6\u95f4\u51fa\u73b0\u9a8c\u8bc1 401 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DO8L"},"#I2DO8L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppStartup")," \u6392\u5e8f\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DVD2"},"#I2DVD2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u542f\u7528\u591a\u8bed\u8a00\u670d\u52a1\u65f6\u53cb\u597d\u5f02\u5e38\u548c\u9a8c\u8bc1\u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ECUJ"},"#I2ECUJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u6821\u9a8c\u5b57\u6bcd\u548c\u6570\u5b57\u7ec4\u5408\u65e0\u6cd5\u5339\u914d bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EF2Q"},"#I2EF2Q")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u6821\u9a8c\u624b\u673a\u6216\u56fa\u8bdd\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M5IZ"},"#I2M5IZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u89e3\u6790 ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlConnection")," \u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M5P2"},"#I2M5P2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5f00\u542f\u591a\u8bed\u8a00\u540e\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"EF")," \u8fc1\u79fb\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2M7DT"},"#I2M7DT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityTypeBuilder")," \u4e0d\u652f\u6301\u591a\u91cd\u7ee7\u627f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2PAOD"},"#I2PAOD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JwtHandler")," \u8bbe\u7f6e\u81ea\u52a8\u5237\u65b0\u540e\uff0c\u533f\u540d\u8bbf\u95ee\u65e0\u6cd5\u901a\u8fc7 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2SDOX"},"#I2SDOX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Dapper")," \u62d3\u5c55\u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlServer")," \u6570\u636e\u5e93\u83b7\u53d6\u8fde\u63a5\u5bf9\u8c61\u7c7b\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/159"},"#PR159")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u79fb\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u67e5\u8be2\u7ed3\u679c\u6620\u5c04\u68c0\u67e5 ",(0,l.kt)("inlineCode",{parentName:"li"},"[NotMapper]")," \u7279\u6027\u673a\u5236 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XD0"},"#I34XD0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4f9d\u8d56\u6ce8\u5165\u65f6\u6392\u9664 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDynamicApiController")," \u63a5\u53e3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ECTG"},"#I2ECTG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u52a0\u5bc6\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/158"},"#PR158")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6587\u6863\u9996\u9875 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XBR"},"#I34XBR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2APGJ"},"#I2APGJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u591a\u8bed\u8a00\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DOCL"},"#I2DOCL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6587\u6863\u5168\u6587\u641c\u7d22\u5f15\u64ce ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XAW"},"#I34XAW")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u9759\u6001\u7c7b\u7c7b\u578b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XB4"},"#I34XB4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6846\u67b6\u53ef\u914d\u7f6e\u9009\u9879\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XB9"},"#I34XB9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u4e8b\u4ef6\u603b\u7ebf\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XBI"},"#I34XBI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u52a0\u89e3\u5bc6\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XC0"},"#I34XC0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u8d21\u732e\u6307\u5357\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XC8"},"#I34XC8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u53ca ",(0,l.kt)("inlineCode",{parentName:"li"},"\u6587\u4ef6\u4e0a\u4f20\u4e0b\u8f7d")," \u535a\u5ba2\u6587\u7ae0 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I34XCB"},"#I34XCB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6587\u6863\u5c0f\u8c03\u6574\uff0c\u5c0f\u4f18\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u8de8\u57df\u8bbe\u7f6e\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2ASNJ"},"#I2ASNJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MVC")," \u89c6\u56fe\u65e0\u6548\uff0c\u539f\u56e0\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},".cshtml")," \u6587\u4ef6\u6ca1\u6709\u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5185\u5bb9")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AXUU"},"#I2AXUU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql")," \u64cd\u4f5c\u53ef\u4ee5\u5b9e\u73b0\u4e8b\u52a1\u5417\uff1f",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2B0NX"},"#I2B0NX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u64cd\u4f5c\u6570\u636e\u5e93\u4f1a\u6253\u5f00\u591a\u6b21\u6570\u636e\u5e93\u8fde\u63a5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BB7B"},"#I2BB7B")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u8fdb\u5165\u81ea\u5b9a\u4e49 ",(0,l.kt)("inlineCode",{parentName:"li"},"AppAuthorizeHandler")," \u65ad\u70b9 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2BGXY"},"#I2BGXY")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u6ce8\u5165\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2C2AQ"},"#I2C2AQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5efa\u8bae\u589e\u52a0 API \u7b7e\u540d\u9a8c\u8bc1\uff0c\u65f6\u6548\u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2C6ET"},"#I2C6ET")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u6570\u636e\u5e93\u591a\u79df\u6237\u540c\u65f6\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CEHS"},"#I2CEHS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ISqlSugarRepository")," \u6ca1\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},"Getxxx")," \u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CJLZ"},"#I2CJLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps1")," \u5982\u4f55\u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u91cc\u7684\u8868\u5bfc\u51fa\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"model")," \u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2CSUL"},"#I2CSUL")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u624b\u52a8\u4fee\u6539 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u7ec8\u7ed3\u70b9\u8def\u5f84\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2D608"},"#I2D608")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DefaultDbContext")," \u4e0d\u80fd\u8bc6\u522b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DCZX"},"#I2DCZX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5404\u5206\u5c42\u9879\u76ee ",(0,l.kt)("inlineCode",{parentName:"li"},"Startup.cs")," \u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Configuration")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DDUP"},"#I2DDUP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Aop")," \u65e0\u6cd5\u62e6\u622a\uff0c\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DEY8"},"#I2DEY8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"mysql")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2DSB8"},"#I2DSB8"),"\\"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Entity")," \u521b\u5efa\u65f6\u95f4\u548c\u662f\u5426\u5220\u9664\u6dfb\u52a0\u9ed8\u8ba4\u503c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E04H"},"#I2E04H")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"swagger")," \u4e2d\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"servers")," \u8bbe\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E0IF"},"#I2E0IF")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5168\u5c40\u7b5b\u9009\u5668 \u6ca1\u6709\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E5R4"},"#I2E5R4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u6570\u636e\u5e93\u5b9a\u4f4d\u5668\u7591\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E77T"},"#I2E77T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps")," \u9006\u5411\u5de5\u7a0b ",(0,l.kt)("inlineCode",{parentName:"li"},"Mysql")," \u6570\u636e\u5e93\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2E7I5"},"#I2E7I5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5f00\u53d1\u73af\u5883 ",(0,l.kt)("inlineCode",{parentName:"li"},"applicationsettings.json")," \u4e2d\u6587\u4e71\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EAG1"},"#I2EAG1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u589e\u52a0\u6307\u5b9a\u8def\u5f84\u7a0b\u5e8f\u96c6\u6620\u5c04 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EEO2"},"#I2EEO2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001\u7f16\u8bd1 ",(0,l.kt)("inlineCode",{parentName:"li"},"cs")," \u811a\u672c\u6587\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2EH66"},"#I2EH66")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u81ea\u5b9a\u4e49\u4e2d\u95f4\u4ef6\uff0c\u8fd4\u56de\u7684\u9519\u8bef\u6ca1\u6709\u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2NV8S"},"#I2NV8S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5faa\u73af\u5f15\u7528\u8bbe\u7f6e\u751f\u6210\u6587\u6863\u5c42\u7ea7\u65e0\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2PLQQ"},"#I2PLQQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u914d\u7f6e\u6587\u4ef6\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"yaml")," \u6587\u4ef6\u5417? ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2TJ3N"},"#I2TJ3N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u4fee\u6539\u6570\u636e\u5e93\u672a ",(0,l.kt)("inlineCode",{parentName:"li"},"mysql")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"Add-Migration")," \u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2VR64"},"#I2VR64")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u6570\u636e\u5e93\u4f7f\u7528\u5b9a\u4f4d\u5668\u65f6\u62a5\u9519 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2VR8F"},"#I2VR8F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Migration To Oracle")," \u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2WBYQ"},"#I2WBYQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5f00\u53d1\u65f6\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger"),"\uff0c\u4e0a\u7ebf\u65f6\u5173\u95ed ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger"),"\uff0c\u8fd9\u9700\u8981\u600e\u4e48\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2WOYV"},"#I2WOYV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u517c\u5bb9 Mvc \u590d\u6742\u9a8c\u8bc1\u6ca1\u6709\u8bd5\u9a8c\u6210\u529f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2X3GV"},"#I2X3GV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Aop")," \u80fd\u4e0d\u80fd\u652f\u6301\u65e0\u63a5\u53e3\u7684\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2X8AS"},"#I2X8AS")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5173\u4e8e ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT Token")," \u81ea\u52a8\u5237\u65b0\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2YD4K"},"#I2YD4K")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u80fd\u5426\u589e\u52a0\u4e00\u4e2a\u62d3\u5c55\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Entity"),"\uff0c\u589e\u52a0\u4e00\u4e9b\u62d3\u5c55\u7684\u5c5e\u6027 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2YDKT"},"#I2YDKT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u65e0\u6cd5\u8fd8\u539f\u5305\uff0c\u4f7f\u7528",(0,l.kt)("inlineCode",{parentName:"li"},"Nuget")," \u4e0b\u8f7d\u548c\u901a\u8fc7\u6700\u65b0\u7684\u7684\u811a\u624b\u67b6\u4e0b\u8f7d\u90fd\u63d0\u793a\u8fd9\u4e2a\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I30446"},"#I30446")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u590d\u6742\u6821\u9a8c\u4e0e\u7279\u6027\u9a8c\u8bc1\u4e0d\u80fd\u5e76\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I3046U"},"#I3046U"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v170\u5df2\u53d1\u5e03"},"v1.7.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.ObjectMapper.Mapster")," \u62d3\u5c55\u5305 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LSJ"},"#I29LSJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Logging.Serilog")," \u62d3\u5c55\u5305 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AAN8"},"#I2AAN8")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Extras.Web.HttpContext")," \u62d3\u5c55\u5305 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LSM"},"#I29LSM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5185\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u5237\u65b0\u673a\u5236\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29K57"},"#I29K57")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u52a8\u6001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\uff0c\u652f\u6301\u8fd0\u884c\u65f6\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"OnModelCreating")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28UDT"},"#I28UDT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u652f\u6301\u4f9d\u8d56\u6ce8\u5165\u6392\u9664\u6307\u5b9a\u63a5\u53e3 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29693"},"#I29693")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c4\u8303\u5316\u7ed3\u679c\u8fd4\u56de\u65f6\u95f4\u6233\u5b57\u6bb5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29697"},"#I29697")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u57fa\u7840 ",(0,l.kt)("inlineCode",{parentName:"li"},"CURD")," \u7236\u7c7b\u64cd\u4f5c\u4f8b\u5b50 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I296SR"},"#I296SR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},'sql.Change("\u5b9a\u4f4d\u5668\u5b8c\u6574\u7c7b\u578b\u540d\u79f0")')," \u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LAB"},"#I29LAB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateInclude")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateExclude")," \u5ffd\u7565\u7a7a\u53c2\u6570\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29VUG"},"#I29VUG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u5185\u7f6e\u5047\u5220\u9664\u67e5\u8be2\u8fc7\u6ee4\u5668\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29Y2R"},"#I29Y2R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5ffd\u7565\u7a7a\u503c\u6392\u9664\u9ed8\u8ba4\u65f6\u95f4\u683c\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29VUV"},"#I29VUV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u7ec4\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I297R9"},"#I297R9")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"AppAuthorizeHandler")," \u6388\u6743\u7ba1\u9053\u4e3a\u5f02\u6b65\u5904\u7406 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29MD9"},"#I29MD9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u9ed8\u8ba4\u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"JWT")," \u6388\u6743\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LI4"},"#I29LI4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextUtilities")," \u540d\u79f0\u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextLocal")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29KQE"},"#I29KQE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyResultContext")," \u540d\u79f0\u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"UnifyContext")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LLZ"},"#I29LLZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u53ea\u6709\u6267\u884c\u8fc1\u79fb\u547d\u4ee4\u624d\u626b\u63cf\u79cd\u5b50\u6570\u636e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29E6P"},"#I29E6P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u89c4\u8303\u5316\u7ed3\u679c ",(0,l.kt)("inlineCode",{parentName:"li"},"Successed")," \u5c5e\u6027\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Succeeded")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29NMV"},"#I29NMV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mapster")," \u5bf9\u8c61\u7ec4\u4ef6\uff0c\u91c7\u7528\u63d0\u4f9b\u62d3\u5c55\u65b9\u5f0f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29D2M"},"#I29D2M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"CacheManager")," \u62d3\u5c55\u7c7b ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LU1"},"#I29LU1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SaveChanges")," \u62e6\u622a\u5668 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I292LO"},"#I292LO")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u6ce8\u518c\u7684\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u4e5f\u88ab\u5f15\u7528\u5168\u5c40\u67e5\u8be2\u62e6\u622a\u5668 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29ZXJ"},"#I29ZXJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u624b\u52a8\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"BadObjectResult")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationProblemDetails")," \u7ed3\u679c\u7c7b\u578b\u65f6\u89c4\u8303\u5316\u7ed3\u679c\u5931\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29ZU9"},"#I29ZU9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u52a8\u6001 WebApi ",(0,l.kt)("inlineCode",{parentName:"li"},"KeepName"),"\uff0c",(0,l.kt)("inlineCode",{parentName:"li"},"KeepVerb"),"\u3001",(0,l.kt)("inlineCode",{parentName:"li"},"SplitCamelCase")," \u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29X90"},"#I29X90")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql\u4ee3\u7406")," \u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5143\u7ec4")," \u7c7b\u578b\u51fa\u9519 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29SMV"},"#I29SMV")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"401\uff0c403")," \u72b6\u6001\u7801\u89c4\u8303\u5316\u8fd4\u56de\u503c\u5c5e\u6027\u53d8\u5927\u5199 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29M8Y"},"#I29M8Y")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29LU4"},"#I29LU4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u63a5\u53e3\u65e0\u8fd4\u56de\u503c\u6ca1\u6709\u5e94\u7528\u89c4\u8303\u5316\u7ed3\u679c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29GT7"},"#I29GT7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u524d\u7aef ",(0,l.kt)("inlineCode",{parentName:"li"},"Less")," \u914d\u7f6e\u6587\u4ef6\u5bfc\u81f4\u4e3b\u673a\u542f\u52a8\u5931\u8d25 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29E7P"},"#I29E7P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u7ed3\u679c\u8f6c\u6cdb\u578b\u540e\u5c5e\u6027\u91cd\u590d\u8d4b\u503c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29BUO"},"#I29BUO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5173\u95ed ",(0,l.kt)("inlineCode",{parentName:"li"},"MiniProfiler")," \u4e4b\u540e ",(0,l.kt)("inlineCode",{parentName:"li"},"\u7ec4\u4e2d\u7ec4")," \u5931\u6548 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29789"},"#I29789")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65f6\u5f02\u5e38\u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Object")," \u5b57\u7b26 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2969A"},"#I2969A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6b63\u6570\u6570\u636e\u9a8c\u8bc1 0 \u4e5f\u9a8c\u8bc1\u901a\u8fc7 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2955T"},"#I2955T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u975e\u6cdb\u578b\u7c7b\u96c6\u6210\u6cdb\u578b\u63a5\u53e3\u4f9d\u8d56\u6ce8\u5165 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I294YT"},"#I294YT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"new")," \u8986\u76d6\u7236\u7c7b\u7684 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28Z1A"},"#I28Z1A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JsonSerializerUtility")," \u6ca1\u6709\u516c\u5f00 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28WMI"},"#I28WMI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlSugar")," \u62d3\u5c55\u67e5\u8be2\u6cdb\u578b\u7c7b\u578b\u6ce8\u518c\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28VMT"},"#I28VMT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u4e0d\u652f\u6301\u751f\u6210\u4e0d\u540c\u547d\u540d\u7a7a\u95f4\u7684\u5b9e\u4f53 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A175"},"#I2A175")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5168\u5c40\u62e6\u622a\u5668\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A7T2"},"#I2A7T2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u65b0\u589e\u6216\u66f4\u65b0\u5ffd\u7565\u7a7a\u503c\u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2AB6C"},"#I2AB6C")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Token")," \u751f\u6210\u52a0\u5bc6\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29KIH"},"#I29KIH")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u65e5\u5fd7\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28Y9D"},"#I28Y9D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u5b9e\u4f53\u62e6\u622a\u5668\u3001\u914d\u7f6e\u3001\u4e00\u5206\u949f\u5165\u95e8\u7b49\u7b49\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5982\u4f55\u5b9e\u73b0\u6388\u6743\u8bbf\u95ee ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I294F2"},"#I294F2")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u5b9e\u73b0\u591a\u4e2a\u6570\u636e\u5e93\u591a\u5bf9\u591a\u5b9e\u4f53\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29G6S"},"#I29G6S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u52a8\u6001 WebApi \u652f\u6301\u6587\u4ef6\u4e0a\u4f20\u5417 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I29R5E"},"#I29R5E")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u591a\u4e2a\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u65e0\u6cd5\u751f\u6210\u8fc1\u79fb\u4ee3\u7801 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2A6II"},"#I2A6II"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v140\u5df2\u53d1\u5e03"},"v1.4.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")," \u652f\u6301\u4e8c\u7ea7\u865a\u62df\u76ee\u5f55\u90e8\u7f72\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28B77"},"#I28B77")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Template.RazorWithWebApi")," \u811a\u624b\u67b6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QGI"},"#I28QGI")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion.Template.BlazorWithWebApi")," \u811a\u624b\u67b6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27Z3O"},"#I27Z3O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65f6\u6001\u67e5\u8be2\u62d3\u5c55 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28AJ6"},"#I28AJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[AppDbContext(\u8fde\u63a5\u5b57\u7b26\u4e32\uff0c\u6570\u636e\u5e93\u7c7b\u578b)]")," \u914d\u7f6e\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QTB"},"#I28QTB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime")," \u62d3\u5c55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27MQA"},"#I27MQA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes")," \u9a8c\u8bc1\u6b63\u5219\u8868\u8fbe\u5f0f\u667a\u80fd\u63d0\u793a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2801V"},"#I2801V")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValiationTypes.WordWithNumber")," \u9a8c\u8bc1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2805A"},"#I2805")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u83b7\u53d6\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef IP \u5730\u5740 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QV9"},"#I28QV9")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u5347\u7ea7")," .NET 5.0 \u7248\u672c\u81f3 .NET 5.0.1 \u7248\u672c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QU1"},"#I28QU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u89c6\u56fe\u5f15\u64ce\u529f\u80fd\uff0c\u4f18\u5316\u4e0d\u89c4\u8303\u547d\u540d\u548c\u65b0\u589e\u5b57\u7b26\u4e32\u6a21\u677f\u7f16\u8bd1 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28G0S"},"#I28G0S")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6570\u636e\u5e93\u5b9e\u4f53\u67e5\u627e\u7b97\u6cd5\uff0c\u5e76\u4f18\u5316\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28QUQ"},"#I28QUQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5e94\u7528\u542f\u52a8\u521d\u59cb\u5316\u6027\u80fd\u548c\u6570\u636e\u5e93\u7b2c\u4e00\u6b21\u81ea\u52a8\u914d\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"DbSet")," \u6027\u80fd"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u914d\u7f6e\u5b9a\u4f4d\u5668\u540e\u5b9e\u4f53\u65e0\u6cd5\u6b63\u786e\u751f\u6210 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2888L"},"#I2888L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u79df\u6237\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u5b9e\u4f53\u751f\u6210 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2891G"},"#I2891G")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5bf9\u8c61\u9a8c\u8bc1\u5931\u8d25\u63d0\u793a\u6d88\u606f\u6ca1\u6709\u5e94\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"JSON")," \u5927\u5c0f\u5199\u914d\u7f6e bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27UTX"},"#I27UTX")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"Insert")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"Update")," \u65b9\u6cd5\u6307\u5b9a ",(0,l.kt)("inlineCode",{parentName:"li"},"ignoreNullValues")," \u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27UN6"},"#I27UN6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Controller")," \u6d3e\u751f\u7c7b\u5982\u679c\u8d34\u4e86 ",(0,l.kt)("inlineCode",{parentName:"li"},"[Route]")," \u7279\u6027\u540e\u51fa\u73b0\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u4e2d bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27TN7"},"#I27TN7")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlScalar")," \u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u8fd4\u56de ",(0,l.kt)("inlineCode",{parentName:"li"},"Nullable")," \u7c7b\u578b\u51fa\u73b0\u8f6c\u6362\u5931\u8d25 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27S2N"},"#I27S2N")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u7279\u6027\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27MLM"},"#I27MLM")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u9759\u6001\u6267\u884c\u65b9\u5f0f\u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"sql")," \u9ad8\u7ea7\u4ee3\u7406\u65e0\u6cd5\u76d1\u542c\u6570\u636e\u5e93\u8fde\u63a5\u72b6\u6001 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27M4F"},"#I27M4F")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4fee\u590d\u66f4\u6362 Json \u5e8f\u5217\u5316\u5e93\u65e0\u6548 bug\uff0c\u5982\u66ff\u6362\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.AspNetCore.Mvc.NewtonsoftJson")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27M43"},"#I27M43")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u5de5\u5177\u751f\u6210\u6a21\u578b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27XI5"},"#I27XI5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u8f6f\u5220\u9664\u6ca1\u6709\u751f\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2804I"},"#I2804I")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u8bc6\u522b\u5e26\u591a\u4e2a ",(0,l.kt)("inlineCode",{parentName:"li"},"\\\\")," \u7684\u8fde\u63a5\u5b57\u7b26\u4e32\u8bc6\u522b bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I280TS"},"#I280TS"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/91"},"#PR91")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion Tools")," \u65e0\u6cd5\u53d6\u6d88\u751f\u6210 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2816M"},"#I2816M")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u8f6c\u672c\u5730\u65f6\u95f4\u5dee 8 \u5c0f\u65f6 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28BA9"},"#I28BA9")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u542f\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"bundle js&css")," \u538b\u7f29\u540e\u542f\u52a8\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28KRP"},"#I28KR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidationTypes.Required")," \u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/98"},"#PR98")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c",(0,l.kt)("inlineCode",{parentName:"li"},"OnValidateFailed")," \u53c2\u6570\u540d\u62fc\u5199\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/93"},"#PR93"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/92"},"#PR92")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6388\u6743\u7ba1\u9053\u9a8c\u8bc1\u5931\u8d25\u8fd8\u663e\u793a\u7ed3\u679c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/89"},"#PR89")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," README.md \u53cb\u60c5\u8fde\u63a5\u5730\u5740 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/88"},"#PR88")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6a21\u677f\u811a\u624b\u67b6\u6e90\u7801\uff0c\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore Tools")," \u5e93 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/87"},"#PR87")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," README.md Nuget \u56fe\u6807 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/85"},"#PR85")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u5c06 ",(0,l.kt)("inlineCode",{parentName:"li"},"List")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTable")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/97"},"#PR97")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u89c6\u56fe\u5f15\u64ce\u6a21\u677f\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27ZVA"},"#I27ZVA")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u65f6\u6001\u67e5\u8be2\u6587\u6863 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28AJ6"},"#I28AJ"),", ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/docs/dbcontext-hight-query/#91111-%E6%97%B6%E6%80%81%E6%9F%A5%E8%AF%A2"},"DOC")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4ed3\u50a8\u6587\u6863\u4e66\u5199\u7eb0\u6f0f bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/90"},"#PR90")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u9009\u9879\u6587\u6863\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/86"},"#PR86")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"\u5b9e\u4f53\u6570\u636e\u76d1\u542c\u5668")," \u6587\u6863\u4e66\u5199\u9519\u8bef bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/83/files"},"#PR83")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u591a\u6570\u636e\u5e93\u3001\u811a\u624b\u67b6\u7b49\u6587\u6863"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u7b54\u7b54\u7591")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5e0c\u671b ",(0,l.kt)("inlineCode",{parentName:"li"},"api")," \u8fd4\u56de\u7684\u503c\u81ea\u52a8\u5c06 null \u8f6c\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"''")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"[]")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I286IJ"},"#I286IJ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u6dfb\u52a0\u7f51\u5173\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27TP7"},"#I27TP7"),"\uff0c\u3010\u5df2\u5173\u95ed\u3011"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u65b0\u589e ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlQuery")," \u83b7\u53d6\u5355\u6761\u8bb0\u5f55\u65b9\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28M1V"},"#I28M1V")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5e0c\u671b\u53ef\u4ee5\u63d0\u4f9b\u96c6\u6210 ",(0,l.kt)("inlineCode",{parentName:"li"},"Serilog")," \u4f8b\u5b50 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I282J4"},"#I282J4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u5982\u4f55\u901a\u8fc7\u7279\u6027\u914d\u7f6e\u552f\u4e00\u7ea6\u675f ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2891L"},"#I2891L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u600e\u4e48\u8bfb\u53d6 ",(0,l.kt)("inlineCode",{parentName:"li"},"appsettings.json")," \u6570\u7ec4 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27WUR"},"#I27WU")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," ",(0,l.kt)("inlineCode",{parentName:"li"},"IRepository")," \u51fa\u73b0\u7a7a\u5f02\u5e38 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I281IE"},"#I281IE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u89c4\u8303\u5316\u63a5\u53e3\u95ee\u9898\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28NMZ"},"#I28NMZ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u7b54\u7591")," \u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b\u4e2d OnResponseStatusCodes \u672a\u6267\u884c ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I28NNL"},"#I28NNL"))))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v120\u5df2\u53d1\u5e03"},"v1.2.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u96ea\u82b1\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26OXG"},"#I26OXG"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/78"},"#PR78")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"[AppDbContext]")," \u914d\u7f6e\u6570\u636e\u5e93\u63d0\u4f9b\u5668\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27G3T"},"#I27G3T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9e\u4f53\u8868\u6570\u636e\u66f4\u6539\u76d1\u542c\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityDataChangedListener")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278DD"},"#I278DD"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278LQ"},"#I278LQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u670d\u52a1\u63a5\u53e3 AOP \u62e6\u622a\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278CP"},"#I278CP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9a\u4f4d\u5668\u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"IDbRepository")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I276Q3"},"#I276Q3")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u64cd\u4f5c ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdate")," \u652f\u6301\u6392\u9664\u7a7a\u5b57\u7b26\u4e32\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I272OG"},"#I272OG")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u5e93\u64cd\u4f5c ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateInclude")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"UpdateExclude")," \u533f\u540d\u5bf9\u8c61\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I271X0"},"#I271X0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6570\u636e\u9a8c\u8bc1\u4f20\u5165\u7a7a\u5bf9\u8c61\u8df3\u8fc7\u9a8c\u8bc1\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I273R4"},"#I273R4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5e94\u7528\u542f\u52a8\u65f6\u652f\u6301\u6392\u9664\u7279\u5b9a\u914d\u7f6e\u6587\u4ef6\u81ea\u52a8\u52a0\u8f7d ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26U0A"},"#I26U0A")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5355\u4e2a\u5b9e\u4f53\u8868\u540d\u524d\u7f00\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26LX0"},"#I26LX0")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u6570\u636e\u5e93\u81ea\u52a8\u914d\u7f6e\u9ed8\u8ba4\u7248\u672c\u53f7 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26XQ6"},"#I26XQ6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6388\u6743\u5904\u7406\u7a0b\u5e8f\u4ee3\u7801"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b9e\u4f53\u8868\u6570\u636e\u66f4\u6539\u76d1\u542c\u63a5\u53e3 ",(0,l.kt)("inlineCode",{parentName:"li"},"IEntityDataChangedListener")," ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278DD"},"#I278DD"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278LQ"},"#I278LQ")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u670d\u52a1\u63a5\u53e3 AOP \u62e6\u622a\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I278CP"},"#I278CP")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u96ea\u82b1\u7b97\u6cd5 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26OXG"},"#I26OXG"),", ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/78"},"#PR78")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c6\u56fe\u5f15\u64ce\u52a0\u8f7d\u5916\u90e8\u7a0b\u5e8f\u96c6\u51fa\u9519 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u4f9d\u8d56\u6ce8\u5165\u4ee3\u7406\u63a5\u53e3\u62a5\u7a7a\u5bf9\u8c61\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u53d6\u6d88\u9644\u52a0\u5b9e\u4f53\u51fa\u9519 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4ed3\u50a8\u5728\u975e Web \u8bf7\u6c42\u4e0b\u51fa\u73b0\u7a7a\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u591a\u4e2a\u6388\u6743\u7b56\u7565\u5171\u5b58\u95ee\u9898\u51fa\u73b0\u65e0\u6548 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u53cb\u597d\u5f02\u5e38 ",(0,l.kt)("inlineCode",{parentName:"li"},"Oop.Oh")," \u4e0d\u652f\u6301\u666e\u901a\u65b9\u6cd5 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u83b7\u53d6\u591a\u79df\u6237\u5bf9\u8c61\u65f6\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u51fa\u73b0\u4f5c\u7528\u57df\u9a8c\u8bc1\u5931\u8d25 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5de5\u4f5c\u5355\u5143\u4e0d\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql\u4ee3\u7406")," \u62e6\u622a bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I27GST"},"#I27GST")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("a",{parentName:"li",href:"https://furion.baiqian.ltd/docs/dbcontext-entitytrigger"},"\u5b9e\u4f53\u6570\u636e\u76d1\u542c\u5668")," \u6587\u6863"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e00\u5206\u949f\u5165\u95e8\u3001\u5e94\u7528\u542f\u52a8\u3001\u5b98\u65b9\u811a\u624b\u67b6\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u6307\u5357\u3001\u5bf9\u8c61\u6620\u5c04\u3001\u89c4\u8303\u5316\u6587\u6863\u3001\u5f02\u5e38\u5904\u7406\u3001\u9274\u6743\u6388\u6743\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v110\u5df2\u53d1\u5e03"},"v1.1.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbContext()")," \u83b7\u53d6\u9ed8\u8ba4\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContextUtility.GetCurrentHttpContext()")," \u83b7\u53d6\u5168\u5c40 ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext")," \u4e0a\u4e0b\u6587"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetRequiredService<>")," \u89e3\u6790\u670d\u52a1\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"object.GetService<>")," \u5bf9\u8c61\u62d3\u5c55\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7b56\u7565\u6388\u6743 ",(0,l.kt)("inlineCode",{parentName:"li"},"PolicyPipeline")," \u57fa\u7c7b\u65b9\u6cd5\uff0c\u652f\u6301\u591a\u91cd\u5224\u65ad\u6388\u6743"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"JWTEncryption.ValidateJwtBearerToken")," \u624b\u52a8\u9a8c\u8bc1\u9759\u6001\u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u6570\u636e\u5e93\u4e0a\u4e0b\u6587 ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdateIgnoreNullValues")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"EnabledEntityStateTracked")," \u5168\u5c40\u914d\u7f6e"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger Jwt\u6388\u6743")," \u5168\u5c40\u6388\u6743\u53c2\u6570 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26GLR"},"#I26GLR")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"InsertOrUpdate")," \u652f\u6301\u81ea\u5b9a\u4e49\u5224\u65ad\u6761\u4ef6\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I269Q1"},"#I269Q1")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b57\u7b26\u4e32\u5b57\u6bb5\u5c0f\u5199\u547d\u540d\u652f\u6301 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2695D"},"#I2695D")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5b57\u7b26\u4e32\u6587\u672c\u5bf9\u6bd4\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I268LE"},"#I268LE")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u5168\u5c40\u5f02\u5e38\u7279\u6027\u6d88\u606f\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2662O"},"#I2662O")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Insert")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"li"},"Update")," \u6570\u636e\u5e93\u5ffd\u7565\u7a7a\u503c\u529f\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I264Q4"},"#I264Q4")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Fur")," \u9879\u76ee\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Furion")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetRequestDbContext<>()")," \u547d\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbContext<>()")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDbContext<>()")," \u547d\u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"Db.GetDuplicateDbContext<>()")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetService<>")," \u89e3\u6790\u670d\u52a1\u7684\u5e95\u5c42\u903b\u8f91\uff0c\u5927\u5927\u63d0\u9ad8\u4e86\u89e3\u6790\u670d\u52a1\u7684\u6027\u80fd"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u6388\u6743\u6838\u5fc3\u4ee3\u7801\uff0c\u4fdd\u6301\u548c\u5fae\u8f6f\u4e00\u81f4\u7684\u6388\u6743\u89c4\u8303 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26DCB"},"#I26DCB")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetRequestService<>")," \u65b9\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ValidateJwtBearer")," Jwt \u6388\u6743\u65b9\u6cd5\uff0c\u65e0\u9700\u624b\u52a8\u5224\u65ad\u4e86"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," Furion \u5b98\u65b9\u811a\u624b\u67b6\u751f\u6210\u540e\u7f16\u8bd1\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Tenant")," \u5185\u7f6e\u5c5e\u6027\u4e0d\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"virtual")," \u4fee\u9970 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"dockerfile")," \u65b0\u547d\u540d\u6784\u5efa\u5931\u8d25 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\u548c\u591a\u4e2a\u6388\u6743\u5171\u5b58\u51fa\u73b0 403 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26H1L"},"#I26H1L")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"httpContext.GetEndpoint()")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/73"},"#PR73")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Oops.Oh")," \u7a7a\u5f02\u5e38\u548c\u4e0d\u652f\u6301\u670d\u52a1\u629b\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26EFU"},"#I26EFU"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26GM4"},"#I26GM4")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps")," \u751f\u6210\u6587\u4ef6\u7f16\u7801\u4e71\u7801 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26DVT"},"#I26DVT")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u6587\u4ef6\u4e0a\u4f20\u6309\u94ae\u4e0d\u663e\u793a ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26B6U"},"#I26B6U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u89c4\u8303\u5316\u7ed3\u679c\u6388\u6743\u72b6\u6001\u7801\u5e8f\u5217\u5316\u5927\u5c0f\u5199\u4e0d\u4e00\u81f4\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I26B26"},"#I26B26")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u672a\u542f\u7528\u89c4\u8303\u5316\u7ed3\u679c\u65f6\u4e2d\u6587\u4e71\u7801 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I268T5"},"#I268T5")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u5f02\u6b65\u5f02\u5e38\u6355\u83b7\u4e0d\u5230 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I265SO"},"#I265SO")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"cli.ps1")," \u63d0\u793a\u627e\u4e0d\u5230\u6570\u636e\u5e93\u8fde\u63a5\u5b57\u7b26\u4e32 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2647U"},"#I2647U")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4f18\u5316")," \u4ee3\u7801\u6027\u80fd\u5c0f\u4f18\u5316\u548c\u5c0f\u8c03\u6574"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4e00\u5206\u949f\u5165\u95e8\u3001\u5b89\u5168\u9274\u6743\u3001\u6570\u636e\u5e93\u7b49\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v103\u5df2\u53d1\u5e03"},"v1.0.3\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Mvc \u6a21\u677f\u811a\u624b\u67b6\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Mvc")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," WebApi \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Api")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Mvc/WebApi \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.App")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Razar Pages \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Razor")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," Blazor \u6a21\u677f\uff1a",(0,l.kt)("inlineCode",{parentName:"li"},"Fur.Template.Blazor")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"PagedList")," \u5230 ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Collections.Generic")," \u547d\u540d\u7a7a\u95f4\u4e0b"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u89e3\u6790\u670d\u52a1\u6027\u80fd\u95ee\u9898\uff0c\u5e95\u5c42\u4ee3\u7801\u5927\u91cf\u4f18\u5316"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"ApiSears.ControllerEnd"),"\u4e0d\u8d77\u4f5c\u7528 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I25KH6"},"#I25KH6")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"RemoteRequest")," \u8bf7\u6c42\u5b8c\u6210\u7ed3\u679c\u5e8f\u5217\u5316\u5c5e\u6027\u5927\u5c0f\u5199\u95ee\u9898 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I25I8R"},"#I25I8R")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"HttpContext.GetEndpoinet()")," \u7a7a\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/73"},"#PR73")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u5165\u95e8\u6587\u6863\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6587\u6863\u3001\u591a\u6570\u636e\u5e93\u64cd\u4f5c\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v102\u5df2\u53d1\u5e03"},"v1.0.2\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Pomelo.EntityFrameworkCore.MySql")," \u6700\u65b0 .NET 5 \u5305\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24ZQK"},"#I24ZQK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddDateTimeJsonConverter(format)")," \u65f6\u95f4\u683c\u5f0f\u5e8f\u5217\u5316\u914d\u7f6e"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTime")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," \u7c7b\u578b\u5e8f\u5217\u5316\u683c\u5f0f\u914d\u7f6e ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I253FI"},"#I253FI")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mapster")," \u5305\u81f3 ",(0,l.kt)("inlineCode",{parentName:"li"},"7.0.0")," \u7248"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.Services")," \u540d\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"App.ServiceProvider")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," ",(0,l.kt)("inlineCode",{parentName:"li"},"App.ApplicationServices")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"App.GetRequestService<>()")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u975e Web \u4e3b\u673a\u6ce8\u5165\u62d3\u5c55"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"services.AddFriendlyException()")," \u7f3a\u5c11\u914d\u7f6e\u6ce8\u5165 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u6c60\u88ab\u91ca\u653e\u548c\u9ad8\u5e76\u53d1\u4e0b\u5185\u5b58\u6ea2\u51fa bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I2524K"},"#I2524K"),"\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24UMN"},"#I24UMN")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Sql\u4ee3\u7406")," \u8fd4\u56de\u7a7a\u6570\u636e\u65f6\u5f02\u5e38 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24TCK"},"#I24TCK")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5de5\u4f5c\u5355\u5143 ",(0,l.kt)("inlineCode",{parentName:"li"},"[UnitOfWork]")," \u591a\u6570\u636e\u5e93\u88ab\u91ca\u653e bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24Q6W"},"#I24Q6W")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"EntityBase")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Entity")," \u6240\u6709\u5c5e\u6027\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"vitural")," \u4fee\u9970"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Jwt")," \u8bfb\u53d6\u548c\u89e3\u6790\u6027\u80fd"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u4f18\u5316\u4ee3\u7801\u652f\u6301 C# 9.0 \u6700\u65b0\u8bed\u6cd5"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("inlineCode",{parentName:"li"},"MD5")," \u52a0\u5bc6\u6027\u80fd ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/71"},"#PR71")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u79fb\u9664")," \u65e0\u7528\u6216\u672a\u4f7f\u7528\u4ee3\u7801"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u591a\u6570\u636e\u5e93\u3001\u4e00\u5206\u949f\u5165\u95e8\u6587\u6863")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"v100\u5df2\u53d1\u5e03"},"v1.0.0\uff08\u5df2\u53d1\u5e03\uff09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u65b0\u7279\u6027")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u7f51\u7edc\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"RemoteRequest")," \u7ec4\u4ef6 ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I1YYWD"},"#I1YYWD")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},".AddInjectBase()")," \u6ce8\u5165\uff0c\u53ea\u5305\u542b\u57fa\u7840\u670d\u52a1\u6ce8\u5165"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u6240\u6709\u670d\u52a1\u90fd\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"IServiceCollection")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"IMvcBuilder")," \u6ce8\u5165"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," \u629b\u5f02\u5e38\u72b6\u6001\u7801\u8bbe\u7f6e\u529f\u80fd ",(0,l.kt)("inlineCode",{parentName:"li"},"StatusCode")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u65b0\u589e")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u5e8f\u5217\u5316\u652f\u6301 ",(0,l.kt)("inlineCode",{parentName:"li"},"Pascal")," \u5c5e\u6027\u547d\u540d\u65b9\u5f0f"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u7a81\u7834\u6027\u53d8\u5316")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," ",(0,l.kt)("strong",{parentName:"li"},"\u6240\u6709\u7684\u5305\u4e3a ",(0,l.kt)("inlineCode",{parentName:"strong"},".NET 5")," \u6b63\u5f0f\u7248")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u95ee\u9898\u4fee\u590d")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"SqlProxy")," \u4ee3\u7406\u5f02\u6b65\u5904\u7406 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u7c7b\u578b ",(0,l.kt)("inlineCode",{parentName:"li"},"Datetime")," \u8f6c ",(0,l.kt)("inlineCode",{parentName:"li"},"DateTimeOffset")," bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5c5e\u6027\u9996\u5b57\u6bcd\u5927\u5c0f\u5199\u5e8f\u5217\u5316\u4e0d\u5339\u914d\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"null")," bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5bf9\u8c61\u5e8f\u5217\u5316\u4e2d\u6587\u51fa\u73b0\u4e71\u7801 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u9ed8\u8ba4\u5e8f\u5217\u5316\u914d\u7f6e\u65e0\u6548 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u6570\u636e\u5e93\u975e\u4f9d\u8d56\u6ce8\u5165\u65b9\u5f0f\u63d0\u4ea4\u65e0\u6548 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5e94\u7528\u7a0b\u5e8f\u6c60\u63d0\u4ea4\u6240\u6709 ",(0,l.kt)("inlineCode",{parentName:"li"},"DbContext")," \u7a7a\u5f02\u5e38 bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Saas")," \u591a\u79df\u6237 ",(0,l.kt)("inlineCode",{parentName:"li"},"Tenant")," \u7c7b\u578b\u5b57\u7b26\u4e32\u5c5e\u6027\u5728 ",(0,l.kt)("inlineCode",{parentName:"li"},"MySql")," \u6570\u636e\u5e93\u4e0b\u51fa\u73b0 ",(0,l.kt)("inlineCode",{parentName:"li"},"longtext")," \u7c7b\u578b bug"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Mvc")," \u81ea\u52a8\u9a8c\u8bc1\u5b57\u7b26\u4e32\u7a7a\u503c bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24M2T"},"#I24M2T")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u679a\u4e3e\u6ce8\u91ca\u88ab\u8986\u76d6 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24N6J"},"#I24N6J")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5ffd\u7565\u89c4\u8303\u5316\u7ed3\u679c\u65e0\u6548 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24B8P"},"#I24B8P")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Swagger")," \u9ed8\u8ba4 ",(0,l.kt)("inlineCode",{parentName:"li"},"ContentType")," \u4e0d\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"applicaiton/json")," bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24F3U"},"#I24F3U")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u4fee\u590d")," \u5185\u7f6e ",(0,l.kt)("inlineCode",{parentName:"li"},"System.Text.Json")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"Newtonsoft.Json")," \u51b2\u7a81 bug ",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I24F3U"},"#I24F3U")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u5176\u4ed6\u66f4\u6539")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Fur")," \u6846\u67b6\u57df\u540d\u4e3a\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://furion.icu"},"https://furion.icu")),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u8c03\u6574")," \u4ed3\u50a8 ",(0,l.kt)("inlineCode",{parentName:"li"},"FromSqlRaw")," \u548c ",(0,l.kt)("inlineCode",{parentName:"li"},"FromSqlInterpolated")," \u63a5\u53e3\u4f4d\u7f6e"),(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," \u6570\u636e\u52a0\u89e3\u5bc6\u6027\u80fd\uff0c",(0,l.kt)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/pulls/70"},"#PR70")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("strong",{parentName:"p"},"\u6587\u6863")),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\xa0",(0,l.kt)(pe,{mdxType:"Tag"},"\u66f4\u65b0")," README.md\u3001\u6846\u67b6\u4ecb\u7ecd\u3001\u6570\u636e\u5e93\u4e0a\u4e0b\u6587\u3001\u914d\u7f6e\u9009\u9879\u3001\u591a\u79df\u6237\u3001\u8de8\u57df\u6587\u6863")))))}ce.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/handbook/build/assets/js/4f2c41ae.83b1f847.js b/handbook/build/assets/js/4f2c41ae.bbd29813.js similarity index 99% rename from handbook/build/assets/js/4f2c41ae.83b1f847.js rename to handbook/build/assets/js/4f2c41ae.bbd29813.js index 36938c3575..e2cbbf1968 100644 --- a/handbook/build/assets/js/4f2c41ae.83b1f847.js +++ b/handbook/build/assets/js/4f2c41ae.bbd29813.js @@ -1 +1 @@ -"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[4415],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),m=o,f=s["".concat(c,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(f,a(a({ref:t},u),{},{components:n})):r.createElement(f,a({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=s;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var p=2;p.NET7 SDK",id:"2511-\u5b89\u88c5-net7-sdk",level:3},{value:"2.5.1.2 \u7f16\u8f91 .csproj \u6587\u4ef6",id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6",level:3},{value:"2.5.1.3 \u5347\u7ea7 Nuget \u5305",id:"2513-\u5347\u7ea7-nuget-\u5305",level:3},{value:"2.5.1.4 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",id:"2514-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",level:3}],m={toc:s};function f(e){var t=e.components,n=(0,o.Z)(e,l);return(0,i.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"251-\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"},"2.5.1 \u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"\u76ee\u524d\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6240\u6709\u7248\u672c\uff080.x-3.x\uff09\u7684\u7528\u6237\u5747\u53ef\u4ee5\u5feb\u901f\u65e0\u7f1d\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion v4.x")," \u7248\u672c\uff0c\u53ea\u9700\u8981\u505a\u5c11\u91cf\u66f4\u6539\u5373\u53ef\u3002")),(0,i.kt)("h3",{id:"2511-\u5b89\u88c5-net7-sdk"},"2.5.1.1 \u5b89\u88c5 ",(0,i.kt)("inlineCode",{parentName:"h3"},".NET7 SDK")),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://dotnet.microsoft.com/download/dotnet/7.0"},"https://dotnet.microsoft.com/download/dotnet/7.0")),(0,i.kt)("h3",{id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6"},"2.5.1.2 \u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"h3"},".csproj")," \u6587\u4ef6"),(0,i.kt)("p",null,"\u7f16\u8f91\u89e3\u51b3\u65b9\u6848\u6240\u6709\u9879\u76ee\u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\uff0c\u5e76\u66ff\u6362 ",(0,i.kt)("inlineCode",{parentName:"p"},"net6.0")," \u4e3a ",(0,i.kt)("inlineCode",{parentName:"p"},"net7.0"),"\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/net73.png")}),(0,i.kt)("p",null,"\u5f53\u7136\u4e5f\u53ef\u4ee5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Ctrl + F")," \u5168\u5c40\u66ff\u6362"),(0,i.kt)("img",{src:(0,a.Z)("img/net74.png")}),(0,i.kt)("h3",{id:"2513-\u5347\u7ea7-nuget-\u5305"},"2.5.1.3 \u5347\u7ea7 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Nuget")," \u5305"),(0,i.kt)("p",null,"\u5c06 ",(0,i.kt)("inlineCode",{parentName:"p"},"Furion")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v4.6.6")," \u7248\u672c\uff0c\u540c\u65f6 ",(0,i.kt)("inlineCode",{parentName:"p"},"Microsoft")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v7.0.0-rc1")," \u7248\u672c\uff08\u9884\u89c8\u7248\u9700\u6253\u52fe ",(0,i.kt)("inlineCode",{parentName:"p"},"\u5305\u542b\u9884\u53d1\u884c\u7248"),"\uff09\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/net75.png")}),(0,i.kt)("h3",{id:"2514-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"},"2.5.1.4 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"),(0,i.kt)("p",null,"\u5347\u7ea7\u5b8c\u6210\uff01\uff01\uff01"))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[4415],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return m}});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=p(n),m=o,f=s["".concat(c,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(f,a(a({ref:t},u),{},{components:n})):r.createElement(f,a({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=s;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var p=2;p.NET7 SDK",id:"2511-\u5b89\u88c5-net7-sdk",level:3},{value:"2.5.1.2 \u7f16\u8f91 .csproj \u6587\u4ef6",id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6",level:3},{value:"2.5.1.3 \u5347\u7ea7 Nuget \u5305",id:"2513-\u5347\u7ea7-nuget-\u5305",level:3},{value:"2.5.1.4 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",id:"2514-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848",level:3}],m={toc:s};function f(e){var t=e.components,n=(0,o.Z)(e,l);return(0,i.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"251-\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"},"2.5.1 \u5347\u7ea7\u6ce8\u610f\u4e8b\u9879"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"\u76ee\u524d\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion")," \u6240\u6709\u7248\u672c\uff080.x-3.x\uff09\u7684\u7528\u6237\u5747\u53ef\u4ee5\u5feb\u901f\u65e0\u7f1d\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"strong"},"Furion v4.x")," \u7248\u672c\uff0c\u53ea\u9700\u8981\u505a\u5c11\u91cf\u66f4\u6539\u5373\u53ef\u3002")),(0,i.kt)("h3",{id:"2511-\u5b89\u88c5-net7-sdk"},"2.5.1.1 \u5b89\u88c5 ",(0,i.kt)("inlineCode",{parentName:"h3"},".NET7 SDK")),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://dotnet.microsoft.com/download/dotnet/7.0"},"https://dotnet.microsoft.com/download/dotnet/7.0")),(0,i.kt)("h3",{id:"2512-\u7f16\u8f91-csproj-\u6587\u4ef6"},"2.5.1.2 \u7f16\u8f91 ",(0,i.kt)("inlineCode",{parentName:"h3"},".csproj")," \u6587\u4ef6"),(0,i.kt)("p",null,"\u7f16\u8f91\u89e3\u51b3\u65b9\u6848\u6240\u6709\u9879\u76ee\u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\uff0c\u5e76\u66ff\u6362 ",(0,i.kt)("inlineCode",{parentName:"p"},"net6.0")," \u4e3a ",(0,i.kt)("inlineCode",{parentName:"p"},"net7.0"),"\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/net73.png")}),(0,i.kt)("p",null,"\u5f53\u7136\u4e5f\u53ef\u4ee5\u4f7f\u7528 ",(0,i.kt)("inlineCode",{parentName:"p"},"Ctrl + F")," \u5168\u5c40\u66ff\u6362"),(0,i.kt)("img",{src:(0,a.Z)("img/net74.png")}),(0,i.kt)("h3",{id:"2513-\u5347\u7ea7-nuget-\u5305"},"2.5.1.3 \u5347\u7ea7 ",(0,i.kt)("inlineCode",{parentName:"h3"},"Nuget")," \u5305"),(0,i.kt)("p",null,"\u5c06 ",(0,i.kt)("inlineCode",{parentName:"p"},"Furion")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v4.6.7")," \u7248\u672c\uff0c\u540c\u65f6 ",(0,i.kt)("inlineCode",{parentName:"p"},"Microsoft")," \u6240\u6709\u5305\u5347\u7ea7\u81f3 ",(0,i.kt)("inlineCode",{parentName:"p"},"v7.0.0-rc1")," \u7248\u672c\uff08\u9884\u89c8\u7248\u9700\u6253\u52fe ",(0,i.kt)("inlineCode",{parentName:"p"},"\u5305\u542b\u9884\u53d1\u884c\u7248"),"\uff09\uff0c\u5982\uff1a"),(0,i.kt)("img",{src:(0,a.Z)("img/net75.png")}),(0,i.kt)("h3",{id:"2514-\u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"},"2.5.1.4 \u91cd\u65b0\u7f16\u8bd1\u6574\u4e2a\u89e3\u51b3\u65b9\u6848"),(0,i.kt)("p",null,"\u5347\u7ea7\u5b8c\u6210\uff01\uff01\uff01"))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/handbook/build/assets/js/698c3fb7.5c68665d.js b/handbook/build/assets/js/698c3fb7.25785c3d.js similarity index 99% rename from handbook/build/assets/js/698c3fb7.5c68665d.js rename to handbook/build/assets/js/698c3fb7.25785c3d.js index 8d72600a07..0b793a6598 100644 --- a/handbook/build/assets/js/698c3fb7.5c68665d.js +++ b/handbook/build/assets/js/698c3fb7.25785c3d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[4249],{3905:function(e,t,a){a.d(t,{Zo:function(){return s},kt:function(){return d}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),m=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=m(e.components);return n.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),g=m(a),d=r,c=g["".concat(o,".").concat(d)]||g[d]||u[d]||l;return a?n.createElement(c,i(i({ref:t},s),{},{components:a})):n.createElement(c,i({ref:t},s))}));function d(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=g;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p.mdxType="string"==typeof e?e:r,i[1]=p;for(var m=2;mFurion + EFCore",id:"2211-furion--efcore",level:3},{value:"2.2.1.2 Furion + SqlSugar",id:"2212-furion--sqlsugar",level:3},{value:"2.2.2 \u5b89\u88c5\u811a\u624b\u67b6",id:"222-\u5b89\u88c5\u811a\u624b\u67b6",level:2},{value:"2.2.3 \u4f7f\u7528\u811a\u624b\u67b6",id:"223-\u4f7f\u7528\u811a\u624b\u67b6",level:2},{value:"2.2.4 \u811a\u624b\u67b6\u66f4\u65b0",id:"224-\u811a\u624b\u67b6\u66f4\u65b0",level:2},{value:"2.2.5 Visual Studio \u96c6\u6210",id:"225-visual-studio-\u96c6\u6210",level:2},{value:"2.2.6 \u5173\u4e8e MVC \u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898",id:"226-\u5173\u4e8e-mvc-\u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898",level:2},{value:"2.2.7 \u4f7f\u7528 .NET5 \u811a\u624b\u67b6",id:"227-\u4f7f\u7528-net5-\u811a\u624b\u67b6",level:2},{value:"2.2.8 \u642d\u5efa\u811a\u624b\u67b6",id:"228-\u642d\u5efa\u811a\u624b\u67b6",level:2},{value:"2.2.9 \u53cd\u9988\u4e0e\u5efa\u8bae",id:"229-\u53cd\u9988\u4e0e\u5efa\u8bae",level:2}],d={toc:g};function c(e){var t=e.components,a=(0,r.Z)(e,p);return(0,l.kt)("wrapper",(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("admonition",{title:"\u7279\u522b\u8bf4\u660e",type:"important"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"\u811a\u624b\u67b6\u4e0d\u662f\u5b89\u88c5\u5728\u9879\u76ee\u4e2d\u7684\uff01")," \u800c\u662f\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"CMD")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"p"},"PowerShell")," \u5b89\u88c5\u5230\u64cd\u4f5c\u7cfb\u7edf\u4e2d\u7684\u3002")),(0,l.kt)("h2",{id:"221-\u811a\u624b\u67b6"},"2.2.1 \u811a\u624b\u67b6"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u5b98\u65b9\u63d0\u4f9b\u4e86\u591a\u79cd ",(0,l.kt)("inlineCode",{parentName:"p"},"Web")," \u5e94\u7528\u7c7b\u578b\u7684\u811a\u624b\u67b6\uff0c\u65b9\u4fbf\u5927\u5bb6\u5feb\u901f\u521b\u5efa\u591a\u5c42\u67b6\u6784\u9879\u76ee\u3002\u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u5e94\u7528\u811a\u624b\u67b6\uff1a"),(0,l.kt)("h3",{id:"2211-furion--efcore"},"2.2.1.1 ",(0,l.kt)("inlineCode",{parentName:"h3"},"Furion + EFCore")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:"center"},"\u6a21\u677f\u7c7b\u578b"),(0,l.kt)("th",{parentName:"tr",align:null},"\u540d\u79f0"),(0,l.kt)("th",{parentName:"tr",align:null},"\u7248\u672c"),(0,l.kt)("th",{parentName:"tr",align:null},"\u5173\u952e\u8bcd"),(0,l.kt)("th",{parentName:"tr",align:null},"\u63cf\u8ff0"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Mvc"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Mvc.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionmvc")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Api"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Api.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionapi")),(0,l.kt)("td",{parentName:"tr",align:null},"WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.App"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.App.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionapp")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Razor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Razor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionrazor")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.RazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.RazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionrazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Blazor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Blazor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionblazor")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.BlazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.BlazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionblazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor/WebApi \u6a21\u677f")))),(0,l.kt)("h3",{id:"2212-furion--sqlsugar"},"2.2.1.2 ",(0,l.kt)("inlineCode",{parentName:"h3"},"Furion + SqlSugar")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"SqlSugar")," \u4f18\u70b9"),(0,l.kt)("p",{parentName:"admonition"},"\u5f25\u8865 ",(0,l.kt)("inlineCode",{parentName:"p"},"EF Core")," \u4e0a\u624b\u96be\u5ea6\uff1a\u652f\u6301\u7ebf\u7a0b\u5b89\u5168\u3001\u652f\u6301\u591a\u5e93\u4e8b\u52a1\u3001\u591a\u5e93\u517c\u5bb9\u3001\u591a\u5e93\u67e5\u8be2\u548c\u591a\u5e93\u5207\u6362\u3002")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:"center"},"\u6a21\u677f\u7c7b\u578b"),(0,l.kt)("th",{parentName:"tr",align:null},"\u540d\u79f0"),(0,l.kt)("th",{parentName:"tr",align:null},"\u7248\u672c"),(0,l.kt)("th",{parentName:"tr",align:null},"\u5173\u952e\u8bcd"),(0,l.kt)("th",{parentName:"tr",align:null},"\u63cf\u8ff0"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Mvc"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Mvc.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsmvc")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Api"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Api.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsapi")),(0,l.kt)("td",{parentName:"tr",align:null},"WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.App"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.App.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsapp")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Razor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Razor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsrazor")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.RazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.RazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsrazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Blazor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Blazor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsblazor")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.BlazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.BlazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsblazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor/WebApi \u6a21\u677f")))),(0,l.kt)("h2",{id:"222-\u5b89\u88c5\u811a\u624b\u67b6"},"2.2.2 \u5b89\u88c5\u811a\u624b\u67b6"),(0,l.kt)("p",null,"\u6253\u5f00 ",(0,l.kt)("inlineCode",{parentName:"p"},"CMD")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"p"},"Powershell")," \u6267\u884c\u6a21\u677f\u5b89\u88c5\u547d\u4ee4\uff08\u65b0\u7248\u672c ",(0,l.kt)("inlineCode",{parentName:"p"},"--install")," \u53ef\u6362\u6210 ",(0,l.kt)("inlineCode",{parentName:"p"},"install"),"\uff09\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"// EFCore\ndotnet new --install Furion.Template.Mvc::4.6.6\n// SqlSugar\ndotnet new --install Furion.SqlSugar.Template.Mvc::4.6.6\n")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"SqlSugar")," \u811a\u624b\u67b6\u57fa\u672c\u4f7f\u7528"),(0,l.kt)("p",{parentName:"admonition"},"\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"SqlSugar")," \u811a\u624b\u67b6\u4e2d\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Core")," \u5c42\u5305\u542b\u4e86\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"p"},"DbContext.cs")," \u7c7b\uff0c\u53ef\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"DbContext.Instance")," \u5c31\u53ef\u4ee5\u83b7\u53d6\u5230 ",(0,l.kt)("inlineCode",{parentName:"p"},"SqlSugarScope")," \u5bf9\u8c61\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u6570\u636e\u5e93\u94fe\u63a5\u5b57\u7b26\u4e32\u5728\u542f\u52a8\u5c42 ",(0,l.kt)("inlineCode",{parentName:"p"},"appsettings.json")," \u6587\u4ef6\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ConnectionConfigs")," \u8282\u70b9\u4e2d\u914d\u7f6e\uff0c\u5bf9\u5e94\u7684\u662f ",(0,l.kt)("inlineCode",{parentName:"p"},"SqlSugar")," \u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ConnectionConfig[]")," \u5bf9\u8c61\u3002")),(0,l.kt)("h2",{id:"223-\u4f7f\u7528\u811a\u624b\u67b6"},"2.2.3 \u4f7f\u7528\u811a\u624b\u67b6"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"dotnet new furionmvc -n \u9879\u76ee\u540d\u79f0\n")),(0,l.kt)("p",null,"\u8fd9\u6837\u5c31\u53ef\u4ee5\u751f\u6210\u9879\u76ee\u4ee3\u7801\u4e86\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u751f\u6210\u4e4b\u540e\u63a8\u8350\u5c06\u6240\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"nuget")," \u5305\u66f4\u65b0\u5230\u6700\u65b0\u7248\u672c\u3002")),(0,l.kt)("admonition",{title:"\u5173\u4e8e\u9879\u76ee\u540d\u79f0",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u901a\u8fc7\u811a\u624b\u67b6\u751f\u6210\u7684\u9879\u76ee\u540d\u79f0\u4e0d\u80fd\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"\u77ed\u6a2a\u7ebf")," \u7b49\u7279\u6b8a\u5b57\u7b26\uff0c\u5982\u6709\u8be5\u9700\u6c42\uff0c\u53ef\u5728\u751f\u6210\u4e4b\u540e\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"Visual Studio")," \u8fdb\u884c\u624b\u52a8\u4fee\u6539\u3002")),(0,l.kt)("admonition",{title:"\u7279\u522b\u63d0\u9192",type:"important"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"furionmvc")," \u5bf9\u5e94\u7684\u662f\u4e0a\u9762\u5217\u8868\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"\u5173\u952e\u5b57"),"\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"dotnet new --list")," \u67e5\u770b\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u60f3\u4e86\u89e3\u66f4\u591a\u53ef\u4ee5\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"dotnet new \u5173\u952e\u5b57 --help")," \u67e5\u770b\u66f4\u591a\u53c2\u6570\u3002")),(0,l.kt)("h2",{id:"224-\u811a\u624b\u67b6\u66f4\u65b0"},"2.2.4 \u811a\u624b\u67b6\u66f4\u65b0"),(0,l.kt)("p",null,"\u53ea\u9700\u8981\u91cd\u65b0\u5b89\u88c5\u6700\u65b0\u7248\u66ff\u6362\u5373\u53ef\uff0c\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"dotnet new --install Furion.Template.Mvc::2.x.x\n")),(0,l.kt)("p",null,"\u4e0d\u5e26\u7248\u672c\u53f7\u603b\u662f\u5b89\u88c5\u6700\u65b0\u7684\u7248\u672c\u3002"),(0,l.kt)("h2",{id:"225-visual-studio-\u96c6\u6210"},"2.2.5 ",(0,l.kt)("inlineCode",{parentName:"h2"},"Visual Studio")," \u96c6\u6210"),(0,l.kt)("p",null,"\u901a\u8fc7\u547d\u4ee4\u5b89\u88c5\u811a\u624b\u67b6\u540e\uff0c\u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"p"},"Visual Studio")," \u5230\u6700\u65b0\u7248\u53ef\u4f7f\u7528\u53ef\u89c6\u5316\u65b9\u5f0f\u521b\u5efa\u54e6\u3002"),(0,l.kt)("img",{src:(0,i.Z)("img/ksh.png")}),(0,l.kt)("h2",{id:"226-\u5173\u4e8e-mvc-\u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898"},"2.2.6 ",(0,l.kt)("inlineCode",{parentName:"h2"},"\u5173\u4e8e MVC \u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898")),(0,l.kt)("p",null,"\u7531\u4e8e ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u5e95\u5c42\u4f9d\u8d56\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"Microsoft.CodeAnalysis.CSharp")," \u5305\uff0c\u6240\u4ee5\u53ef\u80fd\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"Viusal Studio")," \u7684\u754c\u9762\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"p"},"Area \u533a\u57df")," \u65f6\u4f1a\u51fa\u9519\uff0c\u8fd9\u65f6\u5019\u53ea\u9700\u8981\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"Web.Entry")," \u5c42\u5b89\u88c5\u4e0b\u9762\u51e0\u4e2a\u5305\u5373\u53ef\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.CSharp.Features")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.CSharp.Scripting")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.VisualBasic.Features")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.Workspaces.MSBuild")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.VisualStudio.Web.CodeGeneration.Design"))),(0,l.kt)("h2",{id:"227-\u4f7f\u7528-net5-\u811a\u624b\u67b6"},"2.2.7 \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"h2"},".NET5")," \u811a\u624b\u67b6"),(0,l.kt)("p",null,"\u76ee\u524d ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u53ea\u63d0\u4f9b\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET6+")," \u7248\u672c\u811a\u624b\u67b6\uff0c\u5982\u9700\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET")," \u7248\u672c\uff0c\u53ef\u521b\u5efa\u4e4b\u540e\u6267\u884c\u4e0b\u9762\u6b65\u9aa4\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u66ff\u6362 ",(0,l.kt)("inlineCode",{parentName:"p"},"net6.0")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"net5.0"))),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u7f16\u8f91\u6240\u6709\u5c42 ",(0,l.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\u5e76\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"p"},"10.0"),"\uff0c\u5982\uff1a"))),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},"\n net5.0\n 10.0\n \x3c!-- \u5176\u4ed6\u914d\u7f6e --\x3e\n\n")),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},"\u5982\u679c\u4f7f\u7528\u7684\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u7248\u672c\u5219\u9700\u8981\u5c06\u542f\u52a8\u5c42\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.EntityFrameworkCore.Tools")," \u7248\u672c\u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"5.0.17")," \u7248\u672c\uff0c\u5982\u7f16\u8f91\u542f\u52a8\u5c42\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Web.Entry.csproj"),"\uff1a")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'\n all\n runtime; build; native; contentfiles; analyzers; buildtransitive\n\n')),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'\n all\n runtime; build; native; contentfiles; analyzers; buildtransitive\n\n')),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},"\u5728\u542f\u52a8\u5c42\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Startup.cs")," \u6587\u4ef6")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"namespace YourProject.Web.Entry; // \u4f60\u7684\u9879\u76ee\u547d\u540d\u7a7a\u95f4\n\npublic class Startup\n{\n public Startup(IConfiguration configuration)\n {\n Configuration = configuration;\n }\n\n public IConfiguration Configuration { get; }\n\n public void ConfigureServices(IServiceCollection services)\n {\n }\n\n public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n }\n}\n")),(0,l.kt)("ol",{start:5},(0,l.kt)("li",{parentName:"ol"},"\u4fee\u6539 ",(0,l.kt)("inlineCode",{parentName:"li"},"Program.cs")," \u4e3a\uff1a")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},"using YourProject.Web.Entry;\n\nServe.Run(RunOptions.Default);\n")),(0,l.kt)("h2",{id:"228-\u642d\u5efa\u811a\u624b\u67b6"},"2.2.8 \u642d\u5efa\u811a\u624b\u67b6"),(0,l.kt)("p",null,"\u811a\u624b\u67b6\u53ef\u4ee5\u6781\u5927\u7684\u63d0\u9ad8\u6211\u4eec\u642d\u5efa\u65b0\u9879\u76ee\u7684\u901f\u5ea6\uff0c\u63a8\u8350\u4e24\u7bc7\u6587\u7ae0\u7ed9\u5927\u5bb6\u5b66\u4e60\uff1a"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://www.cnblogs.com/laozhang-is-phi/p/10205495.html"},"https://www.cnblogs.com/laozhang-is-phi/p/10205495.html")),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://www.cnblogs.com/catcher1994/p/10061470.html"},"https://www.cnblogs.com/catcher1994/p/10061470.html")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u63a8\u8350\u76f4\u63a5\u62f7\u8d1d ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u811a\u624b\u67b6\u6587\u4ef6\u5939\u8fdb\u884c\u4fee\u6539\uff0c\u53ef\u907f\u514d\u5f88\u591a\u95ee\u9898\u3002")),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/dotnetchina/Furion/tree/v4/templates"},"Furion \u811a\u624b\u67b6\u6e90\u7801")),(0,l.kt)("h2",{id:"229-\u53cd\u9988\u4e0e\u5efa\u8bae"},"2.2.9 \u53cd\u9988\u4e0e\u5efa\u8bae"),(0,l.kt)("admonition",{title:"\u4e0e\u6211\u4eec\u4ea4\u6d41",type:"note"},(0,l.kt)("p",{parentName:"admonition"},"\u7ed9 Furion \u63d0 ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/dotnetchina/Furion/issues/new?issue"},"Issue"),"\u3002")),(0,l.kt)("hr",null),(0,l.kt)("admonition",{title:"\u4e86\u89e3\u66f4\u591a",type:"note"},(0,l.kt)("p",{parentName:"admonition"},"\u60f3\u4e86\u89e3\u66f4\u591a ",(0,l.kt)("inlineCode",{parentName:"p"},"\u6a21\u677f\u77e5\u8bc6")," \u77e5\u8bc6\u53ef\u67e5\u9605 ",(0,l.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new"},"dotnet-new \u6a21\u677f")," \u7ae0\u8282\u3002")))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[4249],{3905:function(e,t,a){a.d(t,{Zo:function(){return s},kt:function(){return d}});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),m=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=m(e.components);return n.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,s=p(e,["components","mdxType","originalType","parentName"]),g=m(a),d=r,c=g["".concat(o,".").concat(d)]||g[d]||u[d]||l;return a?n.createElement(c,i(i({ref:t},s),{},{components:a})):n.createElement(c,i({ref:t},s))}));function d(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=g;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p.mdxType="string"==typeof e?e:r,i[1]=p;for(var m=2;mFurion + EFCore",id:"2211-furion--efcore",level:3},{value:"2.2.1.2 Furion + SqlSugar",id:"2212-furion--sqlsugar",level:3},{value:"2.2.2 \u5b89\u88c5\u811a\u624b\u67b6",id:"222-\u5b89\u88c5\u811a\u624b\u67b6",level:2},{value:"2.2.3 \u4f7f\u7528\u811a\u624b\u67b6",id:"223-\u4f7f\u7528\u811a\u624b\u67b6",level:2},{value:"2.2.4 \u811a\u624b\u67b6\u66f4\u65b0",id:"224-\u811a\u624b\u67b6\u66f4\u65b0",level:2},{value:"2.2.5 Visual Studio \u96c6\u6210",id:"225-visual-studio-\u96c6\u6210",level:2},{value:"2.2.6 \u5173\u4e8e MVC \u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898",id:"226-\u5173\u4e8e-mvc-\u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898",level:2},{value:"2.2.7 \u4f7f\u7528 .NET5 \u811a\u624b\u67b6",id:"227-\u4f7f\u7528-net5-\u811a\u624b\u67b6",level:2},{value:"2.2.8 \u642d\u5efa\u811a\u624b\u67b6",id:"228-\u642d\u5efa\u811a\u624b\u67b6",level:2},{value:"2.2.9 \u53cd\u9988\u4e0e\u5efa\u8bae",id:"229-\u53cd\u9988\u4e0e\u5efa\u8bae",level:2}],d={toc:g};function c(e){var t=e.components,a=(0,r.Z)(e,p);return(0,l.kt)("wrapper",(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("admonition",{title:"\u7279\u522b\u8bf4\u660e",type:"important"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"\u811a\u624b\u67b6\u4e0d\u662f\u5b89\u88c5\u5728\u9879\u76ee\u4e2d\u7684\uff01")," \u800c\u662f\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"CMD")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"p"},"PowerShell")," \u5b89\u88c5\u5230\u64cd\u4f5c\u7cfb\u7edf\u4e2d\u7684\u3002")),(0,l.kt)("h2",{id:"221-\u811a\u624b\u67b6"},"2.2.1 \u811a\u624b\u67b6"),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u5b98\u65b9\u63d0\u4f9b\u4e86\u591a\u79cd ",(0,l.kt)("inlineCode",{parentName:"p"},"Web")," \u5e94\u7528\u7c7b\u578b\u7684\u811a\u624b\u67b6\uff0c\u65b9\u4fbf\u5927\u5bb6\u5feb\u901f\u521b\u5efa\u591a\u5c42\u67b6\u6784\u9879\u76ee\u3002\u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u5e94\u7528\u811a\u624b\u67b6\uff1a"),(0,l.kt)("h3",{id:"2211-furion--efcore"},"2.2.1.1 ",(0,l.kt)("inlineCode",{parentName:"h3"},"Furion + EFCore")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:"center"},"\u6a21\u677f\u7c7b\u578b"),(0,l.kt)("th",{parentName:"tr",align:null},"\u540d\u79f0"),(0,l.kt)("th",{parentName:"tr",align:null},"\u7248\u672c"),(0,l.kt)("th",{parentName:"tr",align:null},"\u5173\u952e\u8bcd"),(0,l.kt)("th",{parentName:"tr",align:null},"\u63cf\u8ff0"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Mvc"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Mvc.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionmvc")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Api"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Api.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionapi")),(0,l.kt)("td",{parentName:"tr",align:null},"WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.App"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.App.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionapp")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Razor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Razor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionrazor")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.RazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.RazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionrazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.Blazor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.Blazor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionblazor")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.Template.BlazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.Template.BlazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"furionblazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor/WebApi \u6a21\u677f")))),(0,l.kt)("h3",{id:"2212-furion--sqlsugar"},"2.2.1.2 ",(0,l.kt)("inlineCode",{parentName:"h3"},"Furion + SqlSugar")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"SqlSugar")," \u4f18\u70b9"),(0,l.kt)("p",{parentName:"admonition"},"\u5f25\u8865 ",(0,l.kt)("inlineCode",{parentName:"p"},"EF Core")," \u4e0a\u624b\u96be\u5ea6\uff1a\u652f\u6301\u7ebf\u7a0b\u5b89\u5168\u3001\u652f\u6301\u591a\u5e93\u4e8b\u52a1\u3001\u591a\u5e93\u517c\u5bb9\u3001\u591a\u5e93\u67e5\u8be2\u548c\u591a\u5e93\u5207\u6362\u3002")),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:"center"},"\u6a21\u677f\u7c7b\u578b"),(0,l.kt)("th",{parentName:"tr",align:null},"\u540d\u79f0"),(0,l.kt)("th",{parentName:"tr",align:null},"\u7248\u672c"),(0,l.kt)("th",{parentName:"tr",align:null},"\u5173\u952e\u8bcd"),(0,l.kt)("th",{parentName:"tr",align:null},"\u63cf\u8ff0"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Mvc"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Mvc/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Mvc.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsmvc")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Api"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Api/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Api.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsapi")),(0,l.kt)("td",{parentName:"tr",align:null},"WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.App"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.App/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.App.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsapp")),(0,l.kt)("td",{parentName:"tr",align:null},"Mvc/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Razor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Razor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Razor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsrazor")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.RazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.RazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.RazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsrazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"RazorPages/WebApi \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.Blazor"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.Blazor/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.Blazor.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsblazor")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor \u6a21\u677f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:"center"},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://shields.io/badge/-Nuget-yellow?cacheSeconds=604800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"Furion.SqlSugar.Template.BlazorWithWebApi"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("a",{parentName:"td",href:"https://www.nuget.org/packages/Furion.SqlSugar.Template.BlazorWithWebApi/"},(0,l.kt)("img",{parentName:"a",src:"https://img.shields.io/nuget/v/Furion.SqlSugar.Template.BlazorWithWebApi.svg?cacheSeconds=10800",alt:"nuget"}))),(0,l.kt)("td",{parentName:"tr",align:null},"\ud83d\udc49 ",(0,l.kt)("strong",{parentName:"td"},"fsblazorapi")),(0,l.kt)("td",{parentName:"tr",align:null},"Blazor/WebApi \u6a21\u677f")))),(0,l.kt)("h2",{id:"222-\u5b89\u88c5\u811a\u624b\u67b6"},"2.2.2 \u5b89\u88c5\u811a\u624b\u67b6"),(0,l.kt)("p",null,"\u6253\u5f00 ",(0,l.kt)("inlineCode",{parentName:"p"},"CMD")," \u6216 ",(0,l.kt)("inlineCode",{parentName:"p"},"Powershell")," \u6267\u884c\u6a21\u677f\u5b89\u88c5\u547d\u4ee4\uff08\u65b0\u7248\u672c ",(0,l.kt)("inlineCode",{parentName:"p"},"--install")," \u53ef\u6362\u6210 ",(0,l.kt)("inlineCode",{parentName:"p"},"install"),"\uff09\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"// EFCore\ndotnet new --install Furion.Template.Mvc::4.6.7\n// SqlSugar\ndotnet new --install Furion.SqlSugar.Template.Mvc::4.6.7\n")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("mdxAdmonitionTitle",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"SqlSugar")," \u811a\u624b\u67b6\u57fa\u672c\u4f7f\u7528"),(0,l.kt)("p",{parentName:"admonition"},"\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"SqlSugar")," \u811a\u624b\u67b6\u4e2d\uff0c",(0,l.kt)("inlineCode",{parentName:"p"},"Core")," \u5c42\u5305\u542b\u4e86\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"p"},"DbContext.cs")," \u7c7b\uff0c\u53ef\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"DbContext.Instance")," \u5c31\u53ef\u4ee5\u83b7\u53d6\u5230 ",(0,l.kt)("inlineCode",{parentName:"p"},"SqlSugarScope")," \u5bf9\u8c61\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u6570\u636e\u5e93\u94fe\u63a5\u5b57\u7b26\u4e32\u5728\u542f\u52a8\u5c42 ",(0,l.kt)("inlineCode",{parentName:"p"},"appsettings.json")," \u6587\u4ef6\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ConnectionConfigs")," \u8282\u70b9\u4e2d\u914d\u7f6e\uff0c\u5bf9\u5e94\u7684\u662f ",(0,l.kt)("inlineCode",{parentName:"p"},"SqlSugar")," \u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ConnectionConfig[]")," \u5bf9\u8c61\u3002")),(0,l.kt)("h2",{id:"223-\u4f7f\u7528\u811a\u624b\u67b6"},"2.2.3 \u4f7f\u7528\u811a\u624b\u67b6"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"dotnet new furionmvc -n \u9879\u76ee\u540d\u79f0\n")),(0,l.kt)("p",null,"\u8fd9\u6837\u5c31\u53ef\u4ee5\u751f\u6210\u9879\u76ee\u4ee3\u7801\u4e86\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u751f\u6210\u4e4b\u540e\u63a8\u8350\u5c06\u6240\u6709\u7684 ",(0,l.kt)("inlineCode",{parentName:"strong"},"nuget")," \u5305\u66f4\u65b0\u5230\u6700\u65b0\u7248\u672c\u3002")),(0,l.kt)("admonition",{title:"\u5173\u4e8e\u9879\u76ee\u540d\u79f0",type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u901a\u8fc7\u811a\u624b\u67b6\u751f\u6210\u7684\u9879\u76ee\u540d\u79f0\u4e0d\u80fd\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"\u77ed\u6a2a\u7ebf")," \u7b49\u7279\u6b8a\u5b57\u7b26\uff0c\u5982\u6709\u8be5\u9700\u6c42\uff0c\u53ef\u5728\u751f\u6210\u4e4b\u540e\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"Visual Studio")," \u8fdb\u884c\u624b\u52a8\u4fee\u6539\u3002")),(0,l.kt)("admonition",{title:"\u7279\u522b\u63d0\u9192",type:"important"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"furionmvc")," \u5bf9\u5e94\u7684\u662f\u4e0a\u9762\u5217\u8868\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"\u5173\u952e\u5b57"),"\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"dotnet new --list")," \u67e5\u770b\u3002"),(0,l.kt)("p",{parentName:"admonition"},"\u60f3\u4e86\u89e3\u66f4\u591a\u53ef\u4ee5\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"dotnet new \u5173\u952e\u5b57 --help")," \u67e5\u770b\u66f4\u591a\u53c2\u6570\u3002")),(0,l.kt)("h2",{id:"224-\u811a\u624b\u67b6\u66f4\u65b0"},"2.2.4 \u811a\u624b\u67b6\u66f4\u65b0"),(0,l.kt)("p",null,"\u53ea\u9700\u8981\u91cd\u65b0\u5b89\u88c5\u6700\u65b0\u7248\u66ff\u6362\u5373\u53ef\uff0c\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"dotnet new --install Furion.Template.Mvc::2.x.x\n")),(0,l.kt)("p",null,"\u4e0d\u5e26\u7248\u672c\u53f7\u603b\u662f\u5b89\u88c5\u6700\u65b0\u7684\u7248\u672c\u3002"),(0,l.kt)("h2",{id:"225-visual-studio-\u96c6\u6210"},"2.2.5 ",(0,l.kt)("inlineCode",{parentName:"h2"},"Visual Studio")," \u96c6\u6210"),(0,l.kt)("p",null,"\u901a\u8fc7\u547d\u4ee4\u5b89\u88c5\u811a\u624b\u67b6\u540e\uff0c\u5347\u7ea7 ",(0,l.kt)("inlineCode",{parentName:"p"},"Visual Studio")," \u5230\u6700\u65b0\u7248\u53ef\u4f7f\u7528\u53ef\u89c6\u5316\u65b9\u5f0f\u521b\u5efa\u54e6\u3002"),(0,l.kt)("img",{src:(0,i.Z)("img/ksh.png")}),(0,l.kt)("h2",{id:"226-\u5173\u4e8e-mvc-\u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898"},"2.2.6 ",(0,l.kt)("inlineCode",{parentName:"h2"},"\u5173\u4e8e MVC \u6dfb\u52a0\u533a\u57df\u51fa\u9519\u95ee\u9898")),(0,l.kt)("p",null,"\u7531\u4e8e ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u5e95\u5c42\u4f9d\u8d56\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},"Microsoft.CodeAnalysis.CSharp")," \u5305\uff0c\u6240\u4ee5\u53ef\u80fd\u901a\u8fc7 ",(0,l.kt)("inlineCode",{parentName:"p"},"Viusal Studio")," \u7684\u754c\u9762\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"p"},"Area \u533a\u57df")," \u65f6\u4f1a\u51fa\u9519\uff0c\u8fd9\u65f6\u5019\u53ea\u9700\u8981\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"Web.Entry")," \u5c42\u5b89\u88c5\u4e0b\u9762\u51e0\u4e2a\u5305\u5373\u53ef\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.CSharp.Features")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.CSharp.Scripting")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.VisualBasic.Features")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.CodeAnalysis.Workspaces.MSBuild")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.VisualStudio.Web.CodeGeneration.Design"))),(0,l.kt)("h2",{id:"227-\u4f7f\u7528-net5-\u811a\u624b\u67b6"},"2.2.7 \u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"h2"},".NET5")," \u811a\u624b\u67b6"),(0,l.kt)("p",null,"\u76ee\u524d ",(0,l.kt)("inlineCode",{parentName:"p"},"Furion")," \u53ea\u63d0\u4f9b\u4e86 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET6+")," \u7248\u672c\u811a\u624b\u67b6\uff0c\u5982\u9700\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},".NET")," \u7248\u672c\uff0c\u53ef\u521b\u5efa\u4e4b\u540e\u6267\u884c\u4e0b\u9762\u6b65\u9aa4\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u66ff\u6362 ",(0,l.kt)("inlineCode",{parentName:"p"},"net6.0")," \u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"net5.0"))),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u7f16\u8f91\u6240\u6709\u5c42 ",(0,l.kt)("inlineCode",{parentName:"p"},".csproj")," \u6587\u4ef6\u5e76\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"p"},"10.0"),"\uff0c\u5982\uff1a"))),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},"\n net5.0\n 10.0\n \x3c!-- \u5176\u4ed6\u914d\u7f6e --\x3e\n\n")),(0,l.kt)("ol",{start:3},(0,l.kt)("li",{parentName:"ol"},"\u5982\u679c\u4f7f\u7528\u7684\u662f ",(0,l.kt)("inlineCode",{parentName:"li"},"EFCore")," \u7248\u672c\u5219\u9700\u8981\u5c06\u542f\u52a8\u5c42\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Microsoft.EntityFrameworkCore.Tools")," \u7248\u672c\u6539\u4e3a ",(0,l.kt)("inlineCode",{parentName:"li"},"5.0.17")," \u7248\u672c\uff0c\u5982\u7f16\u8f91\u542f\u52a8\u5c42\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Web.Entry.csproj"),"\uff1a")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'\n all\n runtime; build; native; contentfiles; analyzers; buildtransitive\n\n')),(0,l.kt)("p",null,"\u6539\u4e3a\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-xml",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'\n all\n runtime; build; native; contentfiles; analyzers; buildtransitive\n\n')),(0,l.kt)("ol",{start:4},(0,l.kt)("li",{parentName:"ol"},"\u5728\u542f\u52a8\u5c42\u6dfb\u52a0 ",(0,l.kt)("inlineCode",{parentName:"li"},"Startup.cs")," \u6587\u4ef6")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"namespace YourProject.Web.Entry; // \u4f60\u7684\u9879\u76ee\u547d\u540d\u7a7a\u95f4\n\npublic class Startup\n{\n public Startup(IConfiguration configuration)\n {\n Configuration = configuration;\n }\n\n public IConfiguration Configuration { get; }\n\n public void ConfigureServices(IServiceCollection services)\n {\n }\n\n public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n }\n}\n")),(0,l.kt)("ol",{start:5},(0,l.kt)("li",{parentName:"ol"},"\u4fee\u6539 ",(0,l.kt)("inlineCode",{parentName:"li"},"Program.cs")," \u4e3a\uff1a")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},"using YourProject.Web.Entry;\n\nServe.Run(RunOptions.Default);\n")),(0,l.kt)("h2",{id:"228-\u642d\u5efa\u811a\u624b\u67b6"},"2.2.8 \u642d\u5efa\u811a\u624b\u67b6"),(0,l.kt)("p",null,"\u811a\u624b\u67b6\u53ef\u4ee5\u6781\u5927\u7684\u63d0\u9ad8\u6211\u4eec\u642d\u5efa\u65b0\u9879\u76ee\u7684\u901f\u5ea6\uff0c\u63a8\u8350\u4e24\u7bc7\u6587\u7ae0\u7ed9\u5927\u5bb6\u5b66\u4e60\uff1a"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://www.cnblogs.com/laozhang-is-phi/p/10205495.html"},"https://www.cnblogs.com/laozhang-is-phi/p/10205495.html")),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://www.cnblogs.com/catcher1994/p/10061470.html"},"https://www.cnblogs.com/catcher1994/p/10061470.html")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u63a8\u8350\u76f4\u63a5\u62f7\u8d1d ",(0,l.kt)("inlineCode",{parentName:"strong"},"Furion")," \u811a\u624b\u67b6\u6587\u4ef6\u5939\u8fdb\u884c\u4fee\u6539\uff0c\u53ef\u907f\u514d\u5f88\u591a\u95ee\u9898\u3002")),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/dotnetchina/Furion/tree/v4/templates"},"Furion \u811a\u624b\u67b6\u6e90\u7801")),(0,l.kt)("h2",{id:"229-\u53cd\u9988\u4e0e\u5efa\u8bae"},"2.2.9 \u53cd\u9988\u4e0e\u5efa\u8bae"),(0,l.kt)("admonition",{title:"\u4e0e\u6211\u4eec\u4ea4\u6d41",type:"note"},(0,l.kt)("p",{parentName:"admonition"},"\u7ed9 Furion \u63d0 ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/dotnetchina/Furion/issues/new?issue"},"Issue"),"\u3002")),(0,l.kt)("hr",null),(0,l.kt)("admonition",{title:"\u4e86\u89e3\u66f4\u591a",type:"note"},(0,l.kt)("p",{parentName:"admonition"},"\u60f3\u4e86\u89e3\u66f4\u591a ",(0,l.kt)("inlineCode",{parentName:"p"},"\u6a21\u677f\u77e5\u8bc6")," \u77e5\u8bc6\u53ef\u67e5\u9605 ",(0,l.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new"},"dotnet-new \u6a21\u677f")," \u7ae0\u8282\u3002")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/handbook/build/assets/js/ace43ec3.4820b927.js b/handbook/build/assets/js/ace43ec3.defbb111.js similarity index 99% rename from handbook/build/assets/js/ace43ec3.4820b927.js rename to handbook/build/assets/js/ace43ec3.defbb111.js index 1ca49b1656..ee3cbbc46a 100644 --- a/handbook/build/assets/js/ace43ec3.4820b927.js +++ b/handbook/build/assets/js/ace43ec3.defbb111.js @@ -1 +1 @@ -"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[2583],{3905:function(e,n,t){t.d(n,{Zo:function(){return u},kt:function(){return c}});var i=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function l(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=i.createContext({}),s=function(e){var n=i.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=s(e.components);return i.createElement(p.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},d=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=s(t),c=a,k=d["".concat(p,".").concat(c)]||d[c]||m[c]||r;return t?i.createElement(k,l(l({ref:n},u),{},{components:t})):i.createElement(k,l({ref:n},u))}));function c(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,l=new Array(r);l[0]=d;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})),f=null!=k?k:C.map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes}})),h=(0,o.l)(f,(function(e,n){return e.value===n.value}));if(h.length>0)throw new Error('Docusaurus error: Duplicate values "'+h.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.');var b=null===c?c:null!=(n=null!=c?c:null==(t=C.find((function(e){return e.props.default})))?void 0:t.props.value)?n:C[0].props.value;if(null!==b&&!f.some((function(e){return e.value===b})))throw new Error('Docusaurus error: The has a defaultValue "'+b+'" but none of its children has the corresponding value. Available values are: '+f.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");var w=(0,p.U)(),S=w.tabGroupChoices,v=w.setTabGroupChoices,y=(0,a.useState)(b),A=y[0],I=y[1],T=[],F=(0,s.o5)().blockElementScrollPositionUntilNextRender;if(null!=g){var L=S[g];null!=L&&L!==A&&f.some((function(e){return e.value===L}))&&I(L)}var D=function(e){var n=e.currentTarget,t=T.indexOf(n),i=f[t].value;i!==A&&(F(n),I(i),null!=g&&v(g,String(i)))},x=function(e){var n,t=null;switch(e.key){case"ArrowRight":var i,a=T.indexOf(e.currentTarget)+1;t=null!=(i=T[a])?i:T[0];break;case"ArrowLeft":var r,l=T.indexOf(e.currentTarget)-1;t=null!=(r=T[l])?r:T[T.length-1]}null==(n=t)||n.focus()};return a.createElement("div",{className:(0,r.Z)("tabs-container",u)},a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":d},N)},f.map((function(e){var n=e.value,t=e.label,l=e.attributes;return a.createElement("li",(0,i.Z)({role:"tab",tabIndex:A===n?0:-1,"aria-selected":A===n,key:n,ref:function(e){return T.push(e)},onKeyDown:x,onFocus:D,onClick:D},l,{className:(0,r.Z)("tabs__item",m,null==l?void 0:l.className,{"tabs__item--active":A===n})}),null!=t?t:n)}))),l?(0,a.cloneElement)(C.filter((function(e){return e.props.value===A}))[0],{className:"margin-top--md"}):a.createElement("div",{className:"margin-top--md"},C.map((function(e,n){return(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==A})}))))}function c(e){var n=(0,l.Z)();return a.createElement(d,(0,i.Z)({key:String(n)},e))}},3113:function(e,n,t){t.r(n),t.d(n,{assets:function(){return c},contentTitle:function(){return m},default:function(){return N},frontMatter:function(){return u},metadata:function(){return d},toc:function(){return k}});var i=t(3117),a=t(102),r=(t(7294),t(3905)),l=t(4996),o=t(5488),p=t(5162),s=["components"],u={id:"specification-document",title:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863",sidebar_label:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863 (Swagger)"},m=void 0,d={unversionedId:"specification-document",id:"specification-document",title:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863",description:"",source:"@site/docs/specification-document.mdx",sourceDirName:".",slug:"/specification-document",permalink:"/docs/specification-document",draft:!1,editUrl:"https://gitee.com/dotnetchina/Furion/tree/v4/handbook/docs/specification-document.mdx",tags:[],version:"current",lastUpdatedBy:"MonkSoul",lastUpdatedAt:1666233967,formattedLastUpdatedAt:"Oct 20, 2022",frontMatter:{id:"specification-document",title:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863",sidebar_label:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863 (Swagger)"},sidebar:"docs",previous:{title:"5.6 Vue/React/Angular \u8bf7\u6c42\u4ee3\u7406",permalink:"/docs/clientapi"},next:{title:"7. \u53cb\u597d\u5f02\u5e38\u5904\u7406",permalink:"/docs/friendly-exception"}},c={},k=[{value:"6.1 \u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863",id:"61-\u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863",level:2},{value:"6.2 \u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863",id:"62-\u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863",level:2},{value:"6.3 \u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863",id:"63-\u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863",level:2},{value:"6.3.1 \u534f\u8bae\u89c4\u8303",id:"631-\u534f\u8bae\u89c4\u8303",level:3},{value:"6.3.2 \u63a5\u53e3\u8def\u5f84\u89c4\u8303",id:"632-\u63a5\u53e3\u8def\u5f84\u89c4\u8303",level:3},{value:"6.3.3 \u7248\u672c\u63a7\u5236\u89c4\u8303",id:"633-\u7248\u672c\u63a7\u5236\u89c4\u8303",level:3},{value:"6.3.4 \u63a5\u53e3\u547d\u540d\u89c4\u8303",id:"634-\u63a5\u53e3\u547d\u540d\u89c4\u8303",level:3},{value:"6.3.5 \u8bf7\u6c42\u53c2\u6570\u89c4\u8303",id:"635-\u8bf7\u6c42\u53c2\u6570\u89c4\u8303",level:3},{value:"6.3.6 \u8fd4\u56de\u6570\u636e\u89c4\u8303",id:"636-\u8fd4\u56de\u6570\u636e\u89c4\u8303",level:3},{value:"6.4 \u4ec0\u4e48\u662f Swagger",id:"64-\u4ec0\u4e48\u662f-swagger",level:2},{value:"6.5 Swagger \u4f7f\u7528",id:"65-swagger-\u4f7f\u7528",level:2},{value:"6.5.1 \u6ce8\u518c\u670d\u52a1",id:"651-\u6ce8\u518c\u670d\u52a1",level:3},{value:"6.5.2 \u9ed8\u8ba4\u5730\u5740",id:"652-\u9ed8\u8ba4\u5730\u5740",level:3},{value:"6.5.3 \u9ed8\u8ba4\u5206\u7ec4",id:"653-\u9ed8\u8ba4\u5206\u7ec4",level:3},{value:"6.5.4 \u6587\u6863\u6ce8\u91ca",id:"654-\u6587\u6863\u6ce8\u91ca",level:3},{value:"6.5.5 \u591a\u5206\u7ec4\u652f\u6301",id:"655-\u591a\u5206\u7ec4\u652f\u6301",level:3},{value:"6.5.6 \u591a\u5206\u7ec4\u6392\u5e8f",id:"656-\u591a\u5206\u7ec4\u6392\u5e8f",level:3},{value:"6.5.7 \u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e",id:"657-\u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e",level:3},{value:"6.5.8 \u7ec4\u4e2d\u7ec4\uff08\u6807\u7b7e\uff09",id:"658-\u7ec4\u4e2d\u7ec4\u6807\u7b7e",level:3},{value:"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d",id:"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d",level:4},{value:"\u8d34\u6807\u7b7e\u4e4b\u540e",id:"\u8d34\u6807\u7b7e\u4e4b\u540e",level:4},{value:"6.5.9 \u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863",id:"659-\u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863",level:3},{value:"6.5.10 \u914d\u7f6e\u6587\u6863\u6807\u9898",id:"6510-\u914d\u7f6e\u6587\u6863\u6807\u9898",level:3},{value:"6.5.11 \u6388\u6743\u63a7\u5236",id:"6511-\u6388\u6743\u63a7\u5236",level:3},{value:"6.5.12 \u5728\u7ebf\u6d4b\u8bd5",id:"6512-\u5728\u7ebf\u6d4b\u8bd5",level:3},{value:"6.5.13 \u6027\u80fd\u76d1\u89c6 MiniProfiler",id:"6513-\u6027\u80fd\u76d1\u89c6-miniprofiler",level:3},{value:"6.5.14 \u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b",id:"6514-\u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b",level:3},{value:"6.5.15 \u9690\u85cf\u7279\u5b9a\u5206\u7ec4",id:"6515-\u9690\u85cf\u7279\u5b9a\u5206\u7ec4",level:3},{value:"6.5.16 \u4e2d\u6587\u4e71\u7801\u95ee\u9898",id:"6516-\u4e2d\u6587\u4e71\u7801\u95ee\u9898",level:3},{value:"6.5.17 \u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed Swagger",id:"6517-\u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed-swagger",level:3},{value:"6.5.18 \u8bbe\u7f6e Example Value \u9ed8\u8ba4\u503c",id:"6518-\u8bbe\u7f6e-example-value-\u9ed8\u8ba4\u503c",level:3},{value:"6.5.19 \u81ea\u5b9a\u4e49 Swagger \u914d\u7f6e",id:"6519-\u81ea\u5b9a\u4e49-swagger-\u914d\u7f6e",level:3},{value:"6.5.20 \u914d\u7f6e Swagger\u7684 Schemes",id:"6520-\u914d\u7f6e-swagger\u7684-schemes",level:3},{value:"6.5.21 \u81ea\u5b9a\u4e49 swagger.json \u8def\u7531\u6a21\u677f",id:"6521-\u81ea\u5b9a\u4e49-swaggerjson-\u8def\u7531\u6a21\u677f",level:3},{value:"6.5.22 \u5173\u4e8e application/x-www-form-urlencoded \u8bf7\u6c42",id:"6522-\u5173\u4e8e-applicationx-www-form-urlencoded-\u8bf7\u6c42",level:3},{value:"6.5.23 Swagger \u51fa\u73b0 CORS \u95ee\u9898\u89e3\u51b3",id:"6523-swagger-\u51fa\u73b0-cors-\u95ee\u9898\u89e3\u51b3",level:3},{value:"6.5.24 Swagger \u51fa\u73b0\u9ed8\u8ba4 xml \u53c2\u6570\u95ee\u9898\u89e3\u51b3",id:"6524-swagger-\u51fa\u73b0\u9ed8\u8ba4-xml-\u53c2\u6570\u95ee\u9898\u89e3\u51b3",level:3},{value:"6.5.25 Swagger \u591a\u8bed\u8a00\u652f\u6301",id:"6525-swagger-\u591a\u8bed\u8a00\u652f\u6301",level:3},{value:"6.5.26 \u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236 Swagger \u6bcf\u4e00\u4e2a api \u53ef\u89c1\u6027",id:"6526-\u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236-swagger-\u6bcf\u4e00\u4e2a-api-\u53ef\u89c1\u6027",level:3},{value:"6.5.27 \u914d\u7f6e MVC \u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406",id:"6527-\u914d\u7f6e-mvc-\u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406",level:3},{value:"6.5.28 Swagger \u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001",id:"6528-swagger-\u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001",level:3},{value:"6.5.29 \u5e26\u767b\u5f55\u7684 Swagger \u6587\u6863",id:"6529-\u5e26\u767b\u5f55\u7684-swagger-\u6587\u6863",level:3},{value:"\u914d\u7f6e\u8bf4\u660e",id:"\u914d\u7f6e\u8bf4\u660e",level:4},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:4},{value:"6.5.30 inheritdoc \u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f",id:"6530-inheritdoc-\u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f",level:2},{value:"6.5.31 \u542f\u7528 All Groups \u5206\u7ec4\u529f\u80fd",id:"6531-\u542f\u7528-all-groups-\u5206\u7ec4\u529f\u80fd",level:3},{value:"6.5.32 \u63a5\u53e3\u8fc7\u65f6\u63a7\u5236",id:"6532-\u63a5\u53e3\u8fc7\u65f6\u63a7\u5236",level:3},{value:"6.5.33 \u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0",id:"6533-\u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0",level:3},{value:"6.5.34 Swagger \u5f02\u5e38/\u4e0d\u80fd\u663e\u793a/\u9519\u8bef\u5904\u7406",id:"6534-swagger-\u5f02\u5e38\u4e0d\u80fd\u663e\u793a\u9519\u8bef\u5904\u7406",level:3},{value:"6.5.35 \u81ea\u5b9a\u4e49 Swagger \u7684 SchemaId",id:"6535-\u81ea\u5b9a\u4e49-swagger-\u7684-schemaid",level:3},{value:"6.5.36 \u81ea\u5b9a\u4e49 Swagger \u7684 OperationId",id:"6536-\u81ea\u5b9a\u4e49-swagger-\u7684-operationid",level:3},{value:"6.5.37 Swagger \u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684 Markdown",id:"6537-swagger-\u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684-markdown",level:3},{value:"6.5.38 \u7b2c\u4e09\u65b9 UI \u96c6\u6210\uff0c\u5982 Knife4jUI",id:"6538-\u7b2c\u4e09\u65b9-ui-\u96c6\u6210\u5982-knife4jui",level:3},{value:"6.6 SpecificationDocumentSettings \u914d\u7f6e",id:"66-specificationdocumentsettings-\u914d\u7f6e",level:2},{value:"6.7 \u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b/\u89c4\u8303\u5316\u7ed3\u679c/API \u8fd4\u56de\u503c",id:"67-\u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b\u89c4\u8303\u5316\u7ed3\u679capi-\u8fd4\u56de\u503c",level:2},{value:"6.7.1 \u6392\u9664\u89c4\u8303\u5316\u5904\u7406",id:"671-\u6392\u9664\u89c4\u8303\u5316\u5904\u7406",level:3},{value:"6.7.2 \u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e",id:"672-\u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e",level:3},{value:"6.7.3 \u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c",id:"673-\u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c",level:3},{value:"6.8 \u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e",id:"68-\u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e",level:2},{value:"6.9 \u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",id:"69-\u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",level:2},{value:"6.9.1 \u901a\u8fc7 JsonResult \u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570",id:"691-\u901a\u8fc7-jsonresult-\u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570",level:3},{value:"6.9.2 \u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879 (\u63a8\u8350)",id:"692-\u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879-\u63a8\u8350",level:3},{value:"6.10 \u53cd\u9988\u4e0e\u5efa\u8bae",id:"610-\u53cd\u9988\u4e0e\u5efa\u8bae",level:2}],g={toc:k};function N(e){var n=e.components,t=(0,a.Z)(e,s);return(0,r.kt)("wrapper",(0,i.Z)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"61-\u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863"},"6.1 \u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863"),(0,r.kt)("p",null,"\u5728\u73b0\u5728\u79fb\u52a8\u4e3a\u738b\u3001\u591a\u7aef\u4e92\u8f85\u3001\u524d\u7aef\u767e\u82b1\u9f50\u653e\u7684\u5f00\u653e\u65f6\u4ee3\uff0c\u4e0d\u518d\u662f\u4e00\u4eba\u5305\u63fd\u5f0f\u5f00\u53d1\uff0c\u5927\u5bb6\u5404\u53f8\u5176\u804c\uff0c\u540e\u7aef\u5de5\u7a0b\u5e08\u8d1f\u8d23\u63a5\u53e3\u5f00\u53d1\uff0c\u524d\u7aef\u8d1f\u8d23\u63a5\u53e3\u8054\u8c03\uff0c\u4e5f\u5c31\u662f\u4e92\u8054\u7f51\u73b0\u5728\u6d41\u884c\u7684\u524d\u540e\u7aef\u5206\u79bb\u67b6\u6784\u3002"),(0,r.kt)("p",null,"\u6240\u4ee5\u5c31\u9700\u8981\u7531\u524d\u540e\u7aef\u5de5\u7a0b\u5e08\u5171\u540c\u5b9a\u4e49\u63a5\u53e3\uff0c\u7f16\u5199\u63a5\u53e3\u6587\u6863\uff0c\u4e4b\u540e\u5927\u5bb6\u6309\u7167\u8fd9\u4e2a\u63a5\u53e3\u6587\u6863\u8fdb\u884c\u5f00\u53d1\u3001\u7ef4\u62a4\u53ca\u5f00\u653e\u7ed9\u7b2c\u4e09\u65b9\u3002"),(0,r.kt)("h2",{id:"62-\u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863"},"6.2 \u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u80fd\u591f\u8ba9\u524d\u7aef\u5f00\u53d1\u4e0e\u540e\u53f0\u5f00\u53d1\u4eba\u5458\u66f4\u597d\u7684\u914d\u5408\uff0c\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u8fed\u4ee3\u6216\u8005\u9879\u76ee\u4eba\u5458\u66f4\u8fed\u65f6\uff0c\u65b9\u4fbf\u540e\u671f\u4eba\u5458\u67e5\u770b\u548c\u7ef4\u62a4"),(0,r.kt)("li",{parentName:"ul"},"\u65b9\u4fbf\u6d4b\u8bd5\u4eba\u5458\u8fdb\u884c\u63a5\u53e3\u6d4b\u8bd5")),(0,r.kt)("h2",{id:"63-\u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863"},"6.3 \u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863"),(0,r.kt)("p",null,"\u7531\u4e8e\u6bcf\u4e2a\u516c\u53f8\u540e\u7aef\u4eba\u5458\u6280\u672f\u53c2\u5dee\u4e0d\u9f50\uff0c\u6280\u672f\u6587\u6863\u80fd\u529b\u4e5f\u4e0d\u4f8b\u5916\uff0c\u5bfc\u81f4\u63a5\u53e3\u5b9a\u4e49\u53ca\u6587\u6863\u4e94\u82b1\u516b\u95e8\uff0c\u4e0d\u540c\u9879\u76ee\u6216\u4e0d\u540c\u516c\u53f8\u5bf9\u63a5\u6781\u5176\u56f0\u96be\uff0c\u800c\u4e14\u4f53\u9a8c\u7cdf\u7cd5\u3002\u6240\u4ee5\uff0c\u65e0\u89c4\u77e9\u4e0d\u6210\u65b9\u5706\uff0c\u4e3a\u4e86\u5f00\u53d1\u4eba\u5458\u95f4\u66f4\u597d\u7684\u914d\u5408\uff0c\u8feb\u5207\u9700\u8981\u6574\u7406\u51fa\u4e00\u5957\u89c4\u8303\u3002"),(0,r.kt)("p",null,"\u901a\u5e38\u63a5\u53e3\u89c4\u8303\u5206\u4e3a\u516d\u4e2a\u90e8\u5206\uff1a"),(0,r.kt)("h3",{id:"631-\u534f\u8bae\u89c4\u8303"},"6.3.1 \u534f\u8bae\u89c4\u8303"),(0,r.kt)("p",null,"\u4e3a\u4e86\u786e\u4fdd\u4e0d\u540c\u7cfb\u7edf/\u6a21\u5757\u95f4\u7684\u6570\u636e\u4ea4\u4e92\uff0c\u9700\u8981\u4e8b\u5148\u7ea6\u5b9a\u597d\u901a\u8baf\u534f\u8bae\uff0c\u5982\uff1aTCP\u3001HTTP\u3001HTTPS \u534f\u8bae\u3002\u4e3a\u4e86\u786e\u4fdd\u6570\u636e\u4ea4\u4e92\u5b89\u5168\uff0c\u5efa\u8bae\u4f7f\u7528 HTTPS \u534f\u8bae"),(0,r.kt)("h3",{id:"632-\u63a5\u53e3\u8def\u5f84\u89c4\u8303"},"6.3.2 \u63a5\u53e3\u8def\u5f84\u89c4\u8303"),(0,r.kt)("p",null,"\u4f5c\u4e3a\u63a5\u53e3\u8def\u5f84\uff0c\u4e3a\u4e86\u65b9\u4fbf\u6e05\u6670\u7684\u533a\u5206\u6765\u81ea\u4e0d\u540c\u7684\u7cfb\u7edf\uff0c\u53ef\u4ee5\u91c7\u7528\u4e0d\u540c\u7cfb\u7edf/\u6a21\u5757\u540d\u4f5c\u4e3a\u63a5\u53e3\u8def\u5f84\u524d\u7f00\uff0c\u5982\uff1a\u652f\u4ed8\u6a21\u5757\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"/pay/xxx"),"\uff0c\u8ba2\u5355\u6a21\u5757\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"/order/xxx")),(0,r.kt)("h3",{id:"633-\u7248\u672c\u63a7\u5236\u89c4\u8303"},"6.3.3 \u7248\u672c\u63a7\u5236\u89c4\u8303"),(0,r.kt)("p",null,'\u4e3a\u4e86\u4fbf\u4e8e\u540e\u671f\u63a5\u53e3\u7684\u5347\u7ea7\u548c\u7ef4\u62a4\uff0c\u5efa\u8bae\u5728\u63a5\u53e3\u8def\u5f84\u4e2d\u52a0\u5165\u7248\u672c\u53f7\uff0c\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5b9e\u73b0\u63a5\u53e3\u591a\u7248\u672c\u7684\u53ef\u7ef4\u62a4\u6027\u3002\u5982\uff1a\u63a5\u53e3\u8def\u5f84\u4e2d\u6dfb\u52a0\u7c7b\u4f3c"',(0,r.kt)("inlineCode",{parentName:"p"},"v1"),'"\u3001"',(0,r.kt)("inlineCode",{parentName:"p"},"v2"),'"\u7b49\u7248\u672c\u53f7'),(0,r.kt)("h3",{id:"634-\u63a5\u53e3\u547d\u540d\u89c4\u8303"},"6.3.4 \u63a5\u53e3\u547d\u540d\u89c4\u8303"),(0,r.kt)("p",null,'\u548c C# \u547d\u540d\u89c4\u8303\u4e00\u6837\uff0c\u597d\u7684\u3001\u7edf\u4e00\u7684\u63a5\u53e3\u547d\u540d\u89c4\u8303\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u589e\u5f3a\u5176\u53ef\u8bfb\u6027\uff0c\u800c\u4e14\u8fd8\u4f1a\u51cf\u5c11\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u53e3\u5934/\u4e66\u9762\u4e0a\u7684\u89e3\u91ca\u3002\u53ef\u4f7f\u7528"\u9a7c\u5cf0\u547d\u540d\u6cd5"\u6309\u7167\u5b9e\u73b0\u63a5\u53e3\u7684',(0,r.kt)("strong",{parentName:"p"},"\u4e1a\u52a1\u7c7b\u578b\u3001\u4e1a\u52a1\u573a\u666f"),"\u7b49\u547d\u540d\uff0c\u6709\u5fc5\u8981\u65f6\u53ef\u91c7\u53d6\u591a\u7ea7\u76ee\u5f55\u547d\u540d\uff0c\u4f46\u76ee\u5f55\u4e0d\u5b9c\u8fc7\u957f\uff0c\u4e24\u7ea7\u76ee\u5f55\u8f83\u4e3a\u9002\u5b9c"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u5e38\u89c1\u547d\u540d\u65b9\u5f0f"),":",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u63a5\u53e3\u540d\u79f0\u52a8\u8bcd\u524d/\u540e\u7f00\u5316"),"\uff1a \u63a5\u53e3\u540d\u79f0\u4ee5\u63a5\u53e3\u6570\u636e\u64cd\u4f5c\u7684\u52a8\u8bcd\u4e3a\u524d/\u540e\u7f00\uff0c\u5e38\u89c1\u52a8\u8bcd\u6709\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"Add\u3001Delete\u3001Update\u3001Query\u3001Get\u3001Send\u3001Save\u3001Detail\u3001List"),"\u7b49\uff0c\u5982\uff1a\u65b0\u5efa\u7528\u6237 ",(0,r.kt)("inlineCode",{parentName:"li"},"AddUser"),"\u3001\u67e5\u8be2\u8ba2\u5355\u8be6\u60c5 ",(0,r.kt)("inlineCode",{parentName:"li"},"QueryOrderDetail"),"\u3002"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u63a5\u53e3\u540d\u79f0\u52a8\u8bcd + \u8bf7\u6c42\u65b9\u5f0f"),"\uff1a\u63a5\u53e3\u8def\u5f84\u4e2d\u5305\u542b\u5177\u4f53\u63a5\u53e3\u540d\u79f0\u7684\u540d\u8bcd\uff0c\u63a5\u53e3\u6570\u636e\u64cd\u4f5c\u52a8\u4f5c\u4ee5 HTTP \u8bf7\u6c42\u65b9\u5f0f\u6765\u533a\u5206\u3002\u5e38\u7528\u7684 HTTP \u8bf7\u6c42\u65b9\u5f0f\u6709\uff1a",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"GET"),"\uff1a\u4ece\u670d\u52a1\u5668\u53d6\u51fa\u8d44\u6e90\uff08\u4e00\u9879\u6216\u591a\u9879\uff09"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"POST"),"\uff1a\u5728\u670d\u52a1\u5668\u65b0\u5efa\u4e00\u4e2a\u8d44\u6e90"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"PUT"),"\uff1a\u5728\u670d\u52a1\u5668\u66f4\u65b0\u8d44\u6e90\uff08\u5ba2\u6237\u7aef\u63d0\u4f9b\u6539\u53d8\u540e\u7684\u5b8c\u6574\u8d44\u6e90\uff09"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"PATCH"),"\uff1a\u5728\u670d\u52a1\u5668\u66f4\u65b0\u8d44\u6e90\uff08\u5ba2\u6237\u7aef\u63d0\u4f9b\u6539\u53d8\u7684\u5c5e\u6027\uff09"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DELETE"),"\uff1a\u4ece\u670d\u52a1\u5668\u5220\u9664\u8d44\u6e90")))))),(0,r.kt)("h3",{id:"635-\u8bf7\u6c42\u53c2\u6570\u89c4\u8303"},"6.3.5 \u8bf7\u6c42\u53c2\u6570\u89c4\u8303"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u8bf7\u6c42\u65b9\u5f0f"),"\uff1a\u6309\u7167 ",(0,r.kt)("inlineCode",{parentName:"li"},"GET\u3001POST\u3001PUT")," \u7b49\u542b\u4e49\u5b9a\u4e49\uff0c\u907f\u514d\u51fa\u73b0\u4e0d\u4e00\u81f4\u73b0\u8c61\uff0c\u5bf9\u4eba\u9020\u6210\u8bef\u89e3\u3001\u6b67\u4e49",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u8bf7\u6c42\u5934"),"\uff1a\u8bf7\u6c42\u5934\u6839\u636e\u9879\u76ee\u9700\u6c42\u6dfb\u52a0\u914d\u7f6e\u53c2\u6570\u3002\u5982\uff1a\u8bf7\u6c42\u6570\u636e\u683c\u5f0f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"accept=application/json")," \u7b49\u3002\u5982\u6709\u9700\u8981\uff0c\u8bf7\u6c42\u5934\u53ef\u6839\u636e\u9879\u76ee\u9700\u6c42\u8981\u6c42\u4f20\u5165\u7528\u6237 token\u3001\u552f\u4e00\u9a8c\u7b7e\u7801\u7b49\u52a0\u5bc6\u6570\u636e"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u8bf7\u6c42\u53c2\u6570/\u8bf7\u6c42\u4f53"),"\uff1a \u8bf7\u6c42\u53c2\u6570\u5b57\u6bb5\uff0c\u5c3d\u53ef\u80fd\u4e0e\u6570\u636e\u5e93\u8868\u5b57\u6bb5\u3001\u5bf9\u8c61\u5c5e\u6027\u540d\u7b49\u4fdd\u6301\u4e00\u81f4\uff0c\u56e0\u4e3a\u4fdd\u6301\u4e00\u81f4\u662f\u6700\u7701\u4e8b\uff0c\u6700\u8212\u670d\u7684\u4e00\u4ef6\u4e8b")))),(0,r.kt)("h3",{id:"636-\u8fd4\u56de\u6570\u636e\u89c4\u8303"},"6.3.6 \u8fd4\u56de\u6570\u636e\u89c4\u8303"),(0,r.kt)("p",null,"\u7edf\u4e00\u89c4\u8303\u8fd4\u56de\u6570\u636e\u7684\u683c\u5f0f\uff0c\u5bf9\u5df1\u5bf9\u5f7c\u90fd\u6709\u597d\u5904\uff0c\u6b64\u5904\u4ee5 json \u683c\u5f0f\u4e3a\u4f8b\u3002\u8fd4\u56de\u6570\u636e\u5e94\u5305\u542b\uff1a",(0,r.kt)("strong",{parentName:"p"},"\u8fd4\u56de\u72b6\u6001\u7801\u3001\u8fd4\u56de\u72b6\u6001\u4fe1\u606f\u3001\u5177\u4f53\u6570\u636e"),"\u3002",(0,r.kt)("strong",{parentName:"p"},"\u8fd4\u56de\u6570\u636e\u4e2d\u7684\u72b6\u6001\u7801\u3001\u72b6\u6001\u4fe1\u606f\uff0c\u5e38\u6307\u5177\u4f53\u7684\u4e1a\u52a1\u72b6\u6001\uff0c\u4e0d\u5efa\u8bae\u548c HTTP \u72b6\u6001\u7801\u6df7\u5728\u4e00\u8d77"),"\u3002HTTP \u72b6\u6001\uff0c\u662f\u7528\u6765\u4f53\u73b0 HTTP \u94fe\u8def\u72b6\u6001\u60c5\u51b5\uff0c\u5982\uff1a404-Not Found\u3002HTTP \u72b6\u6001\u7801\u548c json \u7ed3\u679c\u4e2d\u7684\u72b6\u6001\u7801\uff0c\u5e76\u5b58\u5c1a\u53ef\uff0c\u7528\u4e8e\u4f53\u73b0\u4e0d\u540c\u7ef4\u5ea6\u7684\u72b6\u6001\u3002"),(0,r.kt)("h2",{id:"64-\u4ec0\u4e48\u662f-swagger"},"6.4 \u4ec0\u4e48\u662f Swagger"),(0,r.kt)("p",null,"\u76f8\u4fe1\u65e0\u8bba\u662f\u524d\u7aef\u8fd8\u662f\u540e\u7aef\u5f00\u53d1\uff0c\u90fd\u6216\u591a\u6216\u5c11\u5730\u88ab\u63a5\u53e3\u6587\u6863\u6298\u78e8\u8fc7\u3002\u524d\u7aef\u7ecf\u5e38\u62b1\u6028\u540e\u7aef\u7ed9\u7684\u63a5\u53e3\u6587\u6863\u4e0e\u5b9e\u9645\u60c5\u51b5\u4e0d\u4e00\u81f4\u3002\u540e\u7aef\u53c8\u89c9\u5f97\u7f16\u5199\u53ca\u7ef4\u62a4\u63a5\u53e3\u6587\u6863\u4f1a\u8017\u8d39\u4e0d\u5c11\u7cbe\u529b\uff0c\u7ecf\u5e38\u6765\u4e0d\u53ca\u66f4\u65b0\u3002"),(0,r.kt)("p",null,"\u5176\u5b9e\u65e0\u8bba\u662f\u524d\u7aef\u8c03\u7528\u540e\u7aef\uff0c\u8fd8\u662f\u540e\u7aef\u8c03\u7528\u540e\u7aef\uff0c\u90fd\u671f\u671b\u6709\u4e00\u4e2a\u597d\u7684\u63a5\u53e3\u6587\u6863\u3002\u4f46\u662f\u8fd9\u4e2a\u63a5\u53e3\u6587\u6863\u5bf9\u4e8e\u7a0b\u5e8f\u5458\u6765\u8bf4\uff0c\u5c31\u8ddf\u6ce8\u91ca\u4e00\u6837\uff0c\u7ecf\u5e38\u4f1a\u62b1\u6028\u522b\u4eba\u5199\u7684\u4ee3\u7801\u6ca1\u6709\u5199\u6ce8\u91ca\uff0c\u7136\u800c\u81ea\u5df1\u5199\u8d77\u4ee3\u7801\u8d77\u6765\uff0c\u6700\u8ba8\u538c\u7684\uff0c\u4e5f\u662f\u5199\u6ce8\u91ca\u3002\u6240\u4ee5\u4ec5\u4ec5\u53ea\u901a\u8fc7\u5f3a\u5236\u6765\u89c4\u8303\u5927\u5bb6\u662f\u4e0d\u591f\u7684\uff0c\u968f\u7740\u65f6\u95f4\u63a8\u79fb\uff0c\u7248\u672c\u8fed\u4ee3\uff0c\u63a5\u53e3\u6587\u6863\u5f80\u5f80\u5f88\u5bb9\u6613\u5c31\u8ddf\u4e0d\u4e0a\u4ee3\u7801\u4e86\u3002"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u53d1\u73b0\u4e86\u75db\u70b9\u5c31\u8981\u53bb\u627e\u89e3\u51b3\u65b9\u6848\u3002\u89e3\u51b3\u65b9\u6848\u7528\u7684\u4eba\u591a\u4e86\uff0c\u5c31\u6210\u4e86\u6807\u51c6\u7684\u89c4\u8303\uff0c\u8fd9\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u7684\u7531\u6765"),"\u3002"),(0,r.kt)("p",null,"\u901a\u8fc7\u8fd9\u5957\u89c4\u8303\uff0c\u4f60\u53ea\u9700\u8981\u6309\u7167\u5b83\u7684\u89c4\u8303\u53bb\u5b9a\u4e49\u63a5\u53e3\u53ca\u63a5\u53e3\u76f8\u5173\u7684\u4fe1\u606f\u3002\u518d\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u884d\u751f\u51fa\u6765\u7684\u4e00\u7cfb\u5217\u9879\u76ee\u548c\u5de5\u5177\uff0c\u5c31\u53ef\u4ee5\u505a\u5230\u751f\u6210\u5404\u79cd\u683c\u5f0f\u7684\u63a5\u53e3\u6587\u6863\uff0c\u751f\u6210\u591a\u79cd\u8bed\u8a00\u7684\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\u7684\u4ee3\u7801\uff0c\u4ee5\u53ca\u5728\u7ebf\u63a5\u53e3\u8c03\u8bd5\u9875\u9762\u7b49\u7b49\u3002"),(0,r.kt)("p",null,"\u8fd9\u6837\uff0c\u5982\u679c\u6309\u7167\u65b0\u7684\u5f00\u53d1\u6a21\u5f0f\uff0c\u5728\u5f00\u53d1\u65b0\u7248\u672c\u6216\u8005\u8fed\u4ee3\u7248\u672c\u7684\u65f6\u5019\uff0c\u53ea\u9700\u8981\u66f4\u65b0 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u63cf\u8ff0\u6587\u4ef6\uff0c\u5c31\u53ef\u4ee5\u81ea\u52a8\u751f\u6210\u63a5\u53e3\u6587\u6863\u548c\u5ba2\u6237\u7aef\u670d\u52a1\u7aef\u4ee3\u7801\uff0c\u505a\u5230\u8c03\u7528\u7aef\u4ee3\u7801\u3001\u670d\u52a1\u7aef\u4ee3\u7801\u4ee5\u53ca\u63a5\u53e3\u6587\u6863\u7684\u4e00\u81f4\u6027\u3002"),(0,r.kt)("p",null,"\u6240\u4ee5\uff0cSwagger \u662f\u4e00\u4e2a\u89c4\u8303\u548c\u5b8c\u6574\u7684\u6846\u67b6\uff0c\u7528\u4e8e\u751f\u6210\u3001\u63cf\u8ff0\u3001\u8c03\u7528\u548c\u53ef\u89c6\u5316",(0,r.kt)("inlineCode",{parentName:"p"},"RESTful")," \u98ce\u683c\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Web")," \u670d\u52a1\u3002"),(0,r.kt)("p",null,"\u603b\u4f53\u76ee\u6807\u662f\u4f7f\u5ba2\u6237\u7aef\u548c\u6587\u4ef6\u7cfb\u7edf\u4f5c\u4e3a\u670d\u52a1\u5668\u4ee5\u540c\u6837\u7684\u901f\u5ea6\u6765\u66f4\u65b0\u3002\u6587\u4ef6\u7684\u65b9\u6cd5\u3001\u53c2\u6570\u548c\u6a21\u578b\u7d27\u5bc6\u96c6\u6210\u5230\u670d\u52a1\u5668\u7aef\u7684\u4ee3\u7801\uff0c\u5141\u8bb8 API \u6765\u59cb\u7ec8\u4fdd\u6301\u540c\u6b65\u3002",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u8ba9\u90e8\u7f72\u7ba1\u7406\u548c\u4f7f\u7528\u529f\u80fd\u5f3a\u5927\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"API")," \u4ece\u672a\u5982\u6b64\u7b80\u5355\u3002"),(0,r.kt)("h2",{id:"65-swagger-\u4f7f\u7528"},"6.5 Swagger \u4f7f\u7528"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b\u4e86\u975e\u5e38\u65b9\u4fbf\u4e14\u7075\u6d3b\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u914d\u7f6e\uff0c\u65e0\u9700\u589e\u52a0\u989d\u5916\u5b66\u4e60\u6210\u672c\u3002"),(0,r.kt)("h3",{id:"651-\u6ce8\u518c\u670d\u52a1"},"6.5.1 \u6ce8\u518c\u670d\u52a1"),(0,r.kt)("admonition",{title:"\u5907\u6ce8",type:"important"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},".UseInject()")," \u5df2\u7ecf\u5305\u542b\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},".UseSpecificationDocuments()")," \u6ce8\u518c\uff0c\u65e0\u9700\u518d\u6b21\u6ce8\u518c\u3002")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:'showLineNumbers {11,21} title="Furion.Web.Core\\FurWebCoreStartup.cs"',showLineNumbers:!0,"":!0,"{11,21}":!0,title:'"Furion.Web.Core\\FurWebCoreStartup.cs"'},"using Microsoft.AspNetCore.Builder;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Hosting;\n\nnamespace Furion.Web.Core\n{\n [AppStartup(800)]\n public sealed class FurWebCoreStartup : AppStartup\n {\n public void ConfigureServices(IServiceCollection services)\n {\n services.AddSpecificationDocuments();\n services.AddControllers();\n }\n\n public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n // Other Codes\n\n app.UseSpecificationDocuments();\n\n app.UseEndpoints(endpoints =>\n {\n endpoints.MapControllers();\n });\n }\n }\n}\n")),(0,r.kt)("admonition",{title:"\u5c0f\u77e5\u8bc6",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"services.AddSpecificationDocuments()")," \u901a\u5e38\u548c ",(0,r.kt)("inlineCode",{parentName:"p"},".AddDynamicApiControllers()")," \u6210\u5bf9\u51fa\u73b0\u3002")),(0,r.kt)("h3",{id:"652-\u9ed8\u8ba4\u5730\u5740"},"6.5.2 \u9ed8\u8ba4\u5730\u5740"),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"p"},"\u89c4\u8303\u5316\u6587\u6863")," \u5730\u5740\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"/api")," \u76ee\u5f55\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u652f\u6301\u81ea\u5b9a\u4e49\u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger1.png")}),(0,r.kt)("p",null,"\u53ef\u4ee5\u901a\u8fc7\u4e24\u79cd\u65b9\u5f0f\u914d\u7f6e\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},'app.UseInject("\u8def\u7531")')," \u65b9\u5f0f\uff0c\u5982")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'app.UseInject("testapi"); // \u90a3\u4e48 /testapi \u5c31\u662f\u89c4\u8303\u5316\u5730\u5740\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e"),"\uff1a")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"":!0,"{3}":!0},'{\n "SpecificationDocumentSettings": {\n "RoutePrefix": "testapi"\n }\n}\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u914d\u7f6e\u6587\u4ef6\u4f18\u5148\u7ea7\u5927\u4e8e ",(0,r.kt)("inlineCode",{parentName:"strong"},"UseInject()")," \u65b9\u5f0f")),(0,r.kt)("h3",{id:"653-\u9ed8\u8ba4\u5206\u7ec4"},"6.5.3 \u9ed8\u8ba4\u5206\u7ec4"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\u9ed8\u8ba4\u5206\u7ec4\u540d\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"Default"),"\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u652f\u6301\u81ea\u5b9a\u4e49\u914d\u7f6e"),"\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"":!0,"{3}":!0},'{\n "SpecificationDocumentSettings": {\n "DefaultGroupName": "MyGroup"\n }\n}\n')),(0,r.kt)("h3",{id:"654-\u6587\u6863\u6ce8\u91ca"},"6.5.4 \u6587\u6863\u6ce8\u91ca"),(0,r.kt)("p",null,"\u89c4\u8303\u5316\u6587\u6863\u9ed8\u8ba4\u626b\u63cf ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion.Application"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion.Web.Core"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion.Web.Entry")," \u4e09\u4e2a\u7a0b\u5e8f\u96c6",(0,r.kt)("inlineCode",{parentName:"p"},".xml")," \u6ce8\u91ca\u6587\u4ef6\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u652f\u6301\u81ea\u5b9a\u4e49\u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,"\u53ea\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"///")," \u6807\u8bc6\u7684\u6ce8\u91ca\u8bed\u6cd5\uff0c\u5982\uff1a",(0,r.kt)("strong",{parentName:"p"},"\u7c7b\u3001\u65b9\u6cd5\u3001\u5c5e\u6027\u3001\u53c2\u6570\u3001\u8fd4\u56de\u503c\u3001\u9a8c\u8bc1\u7279\u6027"),"\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5-7,10-13,19-23}",showLineNumbers:!0,"":!0,"{5-7,10-13,19-23}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n /// \n /// \u7c7b\u6ce8\u91ca\n /// \n public class FurionAppService : IDynamicApiController\n {\n /// \n /// \u65b9\u6cd5\u6ce8\u91ca\n /// \n /// \n public string Get()\n {\n return nameof(Furion);\n }\n\n /// \n /// \u5e26 ID \u53c2\u6570\u7684\u65b9\u6cd5\u6ce8\u91ca\n /// \n /// \n /// \n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger2.png")}),(0,r.kt)("admonition",{title:"\u5c0f\u63d0\u793a",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u5982\u679c\u6587\u6863\u6ce8\u91ca\u6ca1\u6709\u663e\u793a\uff0c\u8bf7\u68c0\u67e5\u9879\u76ee ",(0,r.kt)("inlineCode",{parentName:"p"},"\u5c5e\u6027->\u751f\u6210->\u8f93\u51fa")," \u4e2d XML \u6587\u6863\u662f\u5426\u914d\u7f6e\u8f93\u51fa\u8def\u5f84\u3002",(0,r.kt)("strong",{parentName:"p"},"\u6ce8\u610f\uff1a\u53ea\u6709\u4e0d\u5e26\u8def\u5f84\u7684 \u3010\u9879\u76ee\u540d\u79f0.xml\u3011 \u624d\u4f1a\u81ea\u52a8\u52a0\u8f7d\u3002"))),(0,r.kt)("admonition",{title:"\u7279\u522b\u8bf4\u660e",type:"info"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"Debug")," \u6a21\u5f0f\u4e0b\u548c ",(0,r.kt)("inlineCode",{parentName:"p"},"Release")," \u6a21\u5f0f\u4e0b\u7684\u6ce8\u91ca\u6587\u4ef6\u662f\u4e0d\u901a\u7528\u7684\uff0c\u6240\u4ee5\u5bfc\u81f4\u5f88\u591a\u5f00\u53d1\u8005\u53d1\u5e03\u5230\u670d\u52a1\u5668\u4e0a\u53d1\u73b0\u6ca1\u6709\u663e\u793a\u6ce8\u91ca\u3002\u6211\u4eec\u53ea\u9700\u8981\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Visual Studio")," \u4e2d\u5207\u6362 ",(0,r.kt)("inlineCode",{parentName:"p"},"Debug")," \u6a21\u5f0f\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"Release"),"\uff0c\u7136\u540e\u91cd\u65b0\u914d\u7f6e\u4e00\u6b21\u5373\u53ef\u3002"),(0,r.kt)("p",{parentName:"admonition"},"\u8fd9\u6837\u4e0d\u7ba1\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Debug")," \u8fd8\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Release")," \u6a21\u5f0f\u90fd\u4f1a\u663e\u793a\u6ce8\u91ca\u4e86\u3002")),(0,r.kt)("h3",{id:"655-\u591a\u5206\u7ec4\u652f\u6301"},"6.5.5 \u591a\u5206\u7ec4\u652f\u6301"),(0,r.kt)("p",null,"\u591a\u5206\u7ec4\u662f\u4e00\u4e2a\u7cfb\u7edf\u4e2d\u5fc5\u5907\u529f\u80fd\uff0c\u6211\u4eec\u53ef\u4ee5\u5c06\u7cfb\u7edf\u5212\u5206\u4e3a\u591a\u4e2a\u6a21\u5757\uff0c\u6bcf\u4e2a\u6a21\u5757\u90fd\u72ec\u7acb\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"api")," \u914d\u7f6e\u3002\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\uff0c\u5b9e\u73b0\u591a\u5206\u7ec4\u975e\u5e38\u7b80\u5355\u3002\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,21,32}",showLineNumbers:!0,"":!0,"{5,21,32}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings("Group1")]\n public class FurionAppService : IDynamicApiController\n {\n /// \n /// \u968f\u7236\u7c7b Group1 \u5206\u7ec4\n /// \n /// \n public string Post()\n {\n return nameof(Furion);\n }\n\n /// \n /// \u5728 Group1\u3001Group3 \u90fd\u6709\u6211\n /// \n /// \n [ApiDescriptionSettings("Group1", "Group3")]\n public string Get()\n {\n return nameof(Furion);\n }\n\n /// \n /// \u6211\u53ea\u5728 Group2 \u51fa\u73b0\n /// \n /// \n /// \n [ApiDescriptionSettings("Group2")]\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger3.gif")}),(0,r.kt)("h3",{id:"656-\u591a\u5206\u7ec4\u6392\u5e8f"},"6.5.6 \u591a\u5206\u7ec4\u6392\u5e8f"),(0,r.kt)(o.Z,{defaultValue:"fz1",values:[{label:"\u65b9\u5f0f\u4e00",value:"fz1"},{label:"\u65b9\u5f0f\u4e8c",value:"fz2"}],mdxType:"Tabs"},(0,r.kt)(p.Z,{value:"fz1",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u901a\u8fc7\u5206\u7ec4\u540d\u79f0\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"strong"},"@\u6574\u6570")," \u8fdb\u884c\u6392\u5e8f")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,19}",showLineNumbers:!0,"":!0,"{5,19}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings("Group1@1")]\n public class FurionAppService : IDynamicApiController\n {\n public string Post()\n {\n return nameof(Furion);\n }\n\n [ApiDescriptionSettings("Group1", "Group3")]\n public string Get()\n {\n return nameof(Furion);\n }\n\n [ApiDescriptionSettings("Group@2")]\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u53ef\u4ee5\u901a\u8fc7\u5728\u5206\u7ec4\u540d\u540e\u9762\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"@\u6574\u6570")," \u8fdb\u884c\u6392\u5e8f\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"\u6574\u6570")," \u8d8a\u5927\u6392\u524d\u9762\u3002\u5982\u679c\u5206\u7ec4\u540d\u79f0\u591a\u6b21\u6307\u5b9a\u4e14\u591a\u6b21\u6307\u5b9a\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"@\u6574\u6570")," \uff0c\u5219\u81ea\u52a8",(0,r.kt)("strong",{parentName:"p"},"\u53d6\u8be5\u5206\u7ec4\u6700\u5927\u7684\u6574\u6570"),"\u8fdb\u884c\u6392\u5e8f\u3002")),(0,r.kt)(p.Z,{value:"fz2",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u901a\u8fc7\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e\u6392\u5e8f")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {2-17} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{2-17}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Order": 1\n },\n {\n "Group": "Group2",\n "Order": 2\n },\n {\n "Group": "Group3",\n "Order": 0\n }\n ]\n }\n}\n')))),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger4.png")}),(0,r.kt)("admonition",{title:"\u6392\u5e8f\u8bf4\u660e",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5206\u7ec4\u9ed8\u8ba4\u6392\u5e8f ",(0,r.kt)("inlineCode",{parentName:"p"},"Order")," \u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"0"),"\u3002\u5982\u679c\u540c\u65f6\u914d\u7f6e\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"@\u6574\u6570")," \u548c ",(0,r.kt)("inlineCode",{parentName:"p"},"appsettings.json")," \u914d\u7f6e\u6587\u4ef6\uff0c\u90a3\u4e48\u4f18\u5148\u91c7\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"appsettings.json")," \u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Order"))),(0,r.kt)("h3",{id:"657-\u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e"},"6.5.7 \u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b\u4e86\u53ef\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"appsetting.json")," \u914d\u7f6e\u5206\u7ec4\u4fe1\u606f\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {3-20} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{3-20}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Title": "\u5206\u7ec4\u6807\u9898",\n "Description": "\u8fd9\u91cc\u662f\u5206\u7ec4\u63cf\u8ff0",\n "Version": "\u7248\u672c\u53f7",\n "TermsOfService": "https://furion.icu",\n "Contact": {\n "Name": "\u767e\u5c0f\u50e7",\n "Url": "https://gitee.com/monksoul",\n "Email": "monksoul@outlook.com"\n },\n "License": {\n "Name": "MIT",\n "Url": "https://gitee.com/dotnetchina/Furion/blob/alpha/LICENSE"\n }\n }\n ]\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger5.png")}),(0,r.kt)("h3",{id:"658-\u7ec4\u4e2d\u7ec4\u6807\u7b7e"},"6.5.8 \u7ec4\u4e2d\u7ec4\uff08\u6807\u7b7e\uff09"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Tag")," \u914d\u7f6e\u4e3b\u8981\u7528\u4e8e\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u6807\u7b7e\u5206\u7ec4\u4fe1\u606f\u53ca\u5408\u5e76\u6807\u7b7e\u3002\u4e5f\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"\u7ec4\u4e2d\u7ec4"),":"),(0,r.kt)(o.Z,{defaultValue:"tag1",values:[{label:"\u6807\u7b7e\u547d\u540d",value:"tag1"},{label:"\u5408\u5e76\u6807\u7b7e",value:"tag2"}],mdxType:"Tabs"},(0,r.kt)(p.Z,{value:"tag1",mdxType:"TabItem"},(0,r.kt)("h4",{id:"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d"},"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n public class FurionAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n\n public class TestAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n}\n")),(0,r.kt)("h4",{id:"\u8d34\u6807\u7b7e\u4e4b\u540e"},"\u8d34\u6807\u7b7e\u4e4b\u540e"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,19}",showLineNumbers:!0,"":!0,"{5,19}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings(Tag = "\u5206\u7ec4\u4e00")]\n public class FurionAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n\n [ApiDescriptionSettings(Tag = "\u5206\u7ec4\u4e8c")]\n public class TestAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/tag1.png")})),(0,r.kt)(p.Z,{value:"tag2",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,19}",showLineNumbers:!0,"":!0,"{5,19}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings(Tag = "\u5408\u5e76\u6240\u6709\u6807\u7b7e")]\n public class FurionAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n\n [ApiDescriptionSettings(Tag = "\u5408\u5e76\u6240\u6709\u6807\u7b7e")]\n public class TestAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/tag2.png")}))),(0,r.kt)("admonition",{title:"\u5c0f\u77e5\u8bc6",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5982\u679c ",(0,r.kt)("inlineCode",{parentName:"p"},"Tag")," \u540d\u5b57\u4e00\u6837\uff0c\u5219\u4f1a\u81ea\u52a8\u5408\u5e76\uff0c\u5426\u5219\u53ea\u662f\u547d\u540d\u3002")),(0,r.kt)("h3",{id:"659-\u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863"},"6.5.9 \u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {2-4} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{2-4}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "DocExpansionState": "Full"\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger6.gif")}),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"DocExpansionState")," \u914d\u7f6e\u8bf4\u660e\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"List"),"\uff1a\u5217\u8868\u5f0f\uff08\u5c55\u5f00\u5b50\u7c7b\uff09\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u9ed8\u8ba4\u503c")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Full"),"\uff1a\u5b8c\u5168\u5c55\u5f00"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"None"),"\uff1a\u5217\u8868\u5f0f\uff08\u4e0d\u5c55\u5f00\u5b50\u7c7b\uff09")),(0,r.kt)("h3",{id:"6510-\u914d\u7f6e\u6587\u6863\u6807\u9898"},"6.5.10 \u914d\u7f6e\u6587\u6863\u6807\u9898"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {2-4} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{2-4}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "DocumentTitle": "\u6211\u662f\u81ea\u5b9a\u4e49\u6807\u9898"\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger7.png")}),(0,r.kt)("h3",{id:"6511-\u6388\u6743\u63a7\u5236"},"6.5.11 \u6388\u6743\u63a7\u5236"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u65b0\u7248\u672c ",(0,r.kt)("inlineCode",{parentName:"strong"},"Furion")," \u5df2\u7ecf\u9ed8\u8ba4\u542f\u7528\u4e86 Bearer Token \u6388\u6743\u914d\u7f6e\uff0c\u65e0\u9700\u624b\u52a8\u914d\u7f6e"),"\uff0c\u5982\u9700\u624b\u52a8\u914d\u7f6e\uff0c\u53ef\u624b\u52a8\u6dfb\u52a0\u4ee5\u4e0b\u7c7b\u4f3c\u914d\u7f6e\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "EnableAuthorized": true,\n\n "SecurityDefinitions": [\n {\n "Id": "Bearer",\n "Type": "Http",\n "Name": "Authorization",\n "Description": "JWT Authorization header using the Bearer scheme.",\n "BearerFormat": "JWT",\n "Scheme": "bearer",\n "In": "Header",\n\n "Requirement": {\n "Scheme": {\n "Reference": {\n "Id": "Bearer",\n "Type": "SecurityScheme"\n },\n "Accesses": []\n }\n }\n }\n ]\n }\n}\n')),(0,r.kt)("h3",{id:"6512-\u5728\u7ebf\u6d4b\u8bd5"},"6.5.12 \u5728\u7ebf\u6d4b\u8bd5"),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger8.gif")}),(0,r.kt)("h3",{id:"6513-\u6027\u80fd\u76d1\u89c6-miniprofiler"},"6.5.13 \u6027\u80fd\u76d1\u89c6 ",(0,r.kt)("inlineCode",{parentName:"h3"},"MiniProfiler")),(0,r.kt)("p",null,"\u89c4\u8303\u5316\u6587\u6863\u9ed8\u8ba4\u96c6\u6210\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"MiniProfiler")," \u7b2c\u4e09\u65b9\u6027\u80fd\u7ec4\u4ef6\uff0c\u901a\u8fc7\u8be5\u7ec4\u4ef6\u53ef\u4ee5\u65b9\u4fbf\u67e5\u770b\u8bf7\u6c42\u6027\u80fd\u3001\u5f02\u5e38\u5806\u6808\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u7b49\u4fe1\u606f\u3002\u9ed8\u8ba4\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u9996\u9875\u5de6\u4e0a\u89d2\u663e\u793a\u3002"),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/mipr.png")}),(0,r.kt)("admonition",{title:"\u5c0f\u63d0\u793a",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u4e5f\u53ef\u4ee5\u901a\u8fc7 ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"appsetting.json"))," \u4e2d ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"AppSettings:InjectMiniProfiler"))," \u8bbe\u4e3a ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"false"))," \u5173\u95ed\u3002")),(0,r.kt)("h3",{id:"6514-\u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b"},"6.5.14 \u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,8-9}",showLineNumbers:!0,"":!0,"{2,8-9}":!0},"using Furion.DynamicApiController;\nusing Microsoft.AspNetCore.Mvc;\n\nnamespace Furion.Application\n{\n public class FurionAppService : IDynamicApiController\n {\n [ProducesResponseType(201, Type = typeof(TestDto))]\n [ProducesResponseType(400)]\n public string Get()\n {\n return nameof(Furion);\n }\n }\n}\n")),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/fhzlx.png")}),(0,r.kt)("h3",{id:"6515-\u9690\u85cf\u7279\u5b9a\u5206\u7ec4"},"6.5.15 \u9690\u85cf\u7279\u5b9a\u5206\u7ec4"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u65b0\u7248\u672c\u63d0\u4f9b\u4e86\u9690\u85cf\u5206\u7ec4\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Visible")," \u914d\u7f6e\uff0c\u8bbe\u7f6e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"false")," \u4e4b\u540e\u8be5\u5206\u7ec4\u5c06\u4e0d\u663e\u793a\u5728\u89c4\u8303\u5316\u6587\u6863\u4e2d\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers title="appsetting.json"',showLineNumbers:!0,"":!0,title:'"appsetting.json"'},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Visible": false\n }\n ]\n }\n}\n')),(0,r.kt)("h3",{id:"6516-\u4e2d\u6587\u4e71\u7801\u95ee\u9898"},"6.5.16 \u4e2d\u6587\u4e71\u7801\u95ee\u9898"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b,",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u6587\u4ef6\u5e76\u672a\u91c7\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"utf-8")," \u7f16\u7801\uff0c\u6240\u4ee5\u5982\u679c\u914d\u7f6e\u4e2d\u6587\u5206\u7ec4\u4fe1\u606f\u5c31\u4f1a\u51fa\u73b0\u4e71\u7801\u60c5\u51b5\uff0c\u8fd9\u65f6\u5019\uff0c\u53ea\u9700\u8981\u4fee\u6539 ",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u6587\u4ef6\u7f16\u7801\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"utf-8")," \u5373\u53ef\u3002"),(0,r.kt)("h3",{id:"6517-\u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed-swagger"},"6.5.17 \u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")),(0,r.kt)("p",null,"\u5982\u679c\u4e0d\u9700\u8981\u7ebf\u4e0a\u73af\u5883\u5f00\u542f ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u529f\u80fd\uff0c\u53ea\u9700\u8981\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"appsetting.json")," \u914d\u7f6e\u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {3}",showLineNumbers:!0,"":!0,"{3}":!0},'{\n "AppSettings": {\n "InjectSpecificationDocument": false\n }\n}\n')),(0,r.kt)("h3",{id:"6518-\u8bbe\u7f6e-example-value-\u9ed8\u8ba4\u503c"},"6.5.18 \u8bbe\u7f6e ",(0,r.kt)("inlineCode",{parentName:"h3"},"Example Value")," \u9ed8\u8ba4\u503c"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4f1a\u81ea\u52a8\u6839\u636e\u5bf9\u8c61\u7c7b\u578b\u8f93\u5165\u53c2\u6570\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"Example Value")," \u9ed8\u8ba4\u503c\uff0c\u4f46\u662f\u8be5\u9ed8\u8ba4\u503c\u901a\u5e38\u662f\u5bf9\u8c61\u5c5e\u6027\u7684\u7c7b\u578b\u5b57\u7b26\u4e32\u6216\u7f3a\u7701\u503c\uff0c\u5982\u679c\u6211\u4eec\u9700\u8981\u81ea\u5b9a\u4e49\u8fd9\u4e9b\u9ed8\u8ba4\u503c\uff0c\u53ea\u9700\u8981\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"/// \u9ed8\u8ba4\u503c")," \u6ce8\u91ca\u5373\u53ef\u3002"),(0,r.kt)("p",null,"\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4}",showLineNumbers:!0,"":!0,"{4}":!0},"/// \n/// \u5e74\u9f84\n/// \n/// 13\n[Required, Range(10, 110)]\npublic int Age { get; set; }\n")),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/sd20.png")}),(0,r.kt)("p",null,"\u66f4\u591a\u7c7b\u578b\u9ed8\u8ba4\u503c\u8bbe\u7f6e\u793a\u4f8b\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// foobar")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"number")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// 123")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"null")," \u7c7b\u578b\uff1a ",(0,r.kt)("inlineCode",{parentName:"li"},"/// null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"array")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// [ 1, 2, 3 ]"))),(0,r.kt)("admonition",{type:"important"},(0,r.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"\u5173\u4e8e ",(0,r.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"object")," \u7c7b\u578b\u8f93\u5165\u53c2\u6570"),(0,r.kt)("p",{parentName:"admonition"},"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Example Value")," \u4e0d\u4f1a\u663e\u793a ",(0,r.kt)("inlineCode",{parentName:"p"},"object")," \u7c7b\u578b\u7684\u5bf9\u8c61\u5c5e\u6027\uff0c\u56e0\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u8ba4\u4e3a\u8fd9\u662f\u4e0d\u5408\u7406\u7684\u5b9a\u4e49\u3002\u5982\u679c\u9700\u8981\u5f3a\u5236\u663e\u793a\uff0c\u53ea\u9700\u8981\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},'/// "object"')," \u6ce8\u91ca\u5373\u53ef\u3002")),(0,r.kt)("h3",{id:"6519-\u81ea\u5b9a\u4e49-swagger-\u914d\u7f6e"},"6.5.19 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u914d\u7f6e"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u9664\u4e86\u5185\u7f6e\u4e86\u4e0d\u5c11\u914d\u7f6e\u4ee5\u5916\uff0c\u8fd8\u63d0\u4f9b\u4e86\u76f4\u63a5\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," Api \u7684\u53c2\u6570\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5}",showLineNumbers:!0,"{5}":!0},"public void ConfigureServices(IServiceCollection services)\n{\n services.AddInject(options =>\n {\n options.ConfigureSwaggerGen(gen =>\n {\n // ....\n });\n });\n}\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {6,11}",showLineNumbers:!0,"{6,11}":!0}," public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n // \u5982\u679c\u4f7f\u7528 Furion 4.4.8+ \u7248\u672c\u53ef\u4ee5 app.UseInject(options => {}) \u4e86\uff0c\u65e0\u9700\u6307\u5b9a configure:\n app.UseInject(configure: options =>\n {\n options.ConfigureSwagger(swg =>\n {\n // ....\n });\n\n options.ConfigureSwaggerUI(ui =>\n {\n // ....\n });\n });\n}\n\n")),(0,r.kt)("h3",{id:"6520-\u914d\u7f6e-swagger\u7684-schemes"},"6.5.20 \u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger"),"\u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Schemes")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u9ed8\u8ba4\u53ea\u663e\u793a\u540d\u79f0\uff0c\u5982\u679c\u9700\u8981\u81ea\u5b9a\u4e49\u663e\u793a\u89c4\u5219\uff0c\u53ea\u9700\u8981\u6dfb\u52a0\u914d\u7f6e\u5373\u53ef\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,6}",showLineNumbers:!0,"{4,6}":!0},"services.AddControllersWithViews()\n .AddInject(options =>\n {\n options.ConfigureSwaggerGen(gen =>\n {\n gen.CustomSchemaIds(x => x.FullName);\n });\n });\n")),(0,r.kt)("h3",{id:"6521-\u81ea\u5b9a\u4e49-swaggerjson-\u8def\u7531\u6a21\u677f"},"6.5.21 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"swagger.json")," \u8def\u7531\u6a21\u677f"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4f1a\u751f\u6210\u7edf\u4e00\u7684\u5206\u7ec4\u6a21\u677f\uff0c\u5982\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"swagger/{documentName}/swagger.json"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"{documentName}")," \u4f1a\u5728\u8fd0\u884c\u65f6\u66ff\u6362\u4e3a\u5206\u7ec4\u540d\uff0c\u5982\u9700\u81ea\u5b9a\u4e49\uff0c\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"RouteTemplate")," \u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers title="appsetting.json"',showLineNumbers:!0,"":!0,title:'"appsetting.json"'},'{\n "SpecificationDocumentSettings": {\n "RouteTemplate": "myapp/{documentName}/xxxx.json"\n }\n}\n')),(0,r.kt)("h3",{id:"6522-\u5173\u4e8e-applicationx-www-form-urlencoded-\u8bf7\u6c42"},"6.5.22 \u5173\u4e8e ",(0,r.kt)("inlineCode",{parentName:"h3"},"application/x-www-form-urlencoded")," \u8bf7\u6c42"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u5e76\u672a\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"application/x-www-form-urlencoded")," \u652f\u6301\uff0c\u5982\u9700\u542f\u7528\u8be5\u914d\u7f6e\uff0c\u53ea\u9700\u5728\u65b9\u6cd5\u9876\u90e8\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[Consumes]")," \u7279\u6027\u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,2}",showLineNumbers:!0,"":!0,"{1,2}":!0},'[Consumes("application/x-www-form-urlencoded")]\npublic async Task Test([FromForm] TestRequest testRequest)\n{\n // ....\n}\n\npublic class TestRequest\n{\n public string TestValue { get; set; }\n}\n')),(0,r.kt)("admonition",{title:"\u7279\u522b\u6ce8\u610f",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u53c2\u6570\u5fc5\u987b\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[FromForm]")," \u7279\u6027\u3002\u53e6\u5916\u8bf7\u6c42\u65f6\u5c06\u53c2\u6570\u6309 ",(0,r.kt)("inlineCode",{parentName:"p"},"URL")," \u5730\u5740\u62fc\u63a5\u5e76\u653e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Body")," \u4e2d\u8bf7\u6c42\u3002")),(0,r.kt)("h3",{id:"6523-swagger-\u51fa\u73b0-cors-\u95ee\u9898\u89e3\u51b3"},"6.5.23 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u51fa\u73b0 ",(0,r.kt)("inlineCode",{parentName:"h3"},"CORS")," \u95ee\u9898\u89e3\u51b3"),(0,r.kt)("p",null,"\u5982\u679c ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u51fa\u73b0\u4ee5\u4e0b\u9519\u8bef\uff0c\u5982\u56fe\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swerror.png")}),(0,r.kt)("p",null,"\u5219\u9700\u8981\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2,3}",showLineNumbers:!0,"":!0,"{2,3}":!0},'{\n "SpecificationDocumentSettings": {\n "HideServers": true\n }\n}\n')),(0,r.kt)("h3",{id:"6524-swagger-\u51fa\u73b0\u9ed8\u8ba4-xml-\u53c2\u6570\u95ee\u9898\u89e3\u51b3"},"6.5.24 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u51fa\u73b0\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"h3"},"xml")," \u53c2\u6570\u95ee\u9898\u89e3\u51b3"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u4ea7\u751f\u6b64\u539f\u56e0\u6709\u4e24\u4e2a\u5fc5\u8981\u6761\u4ef6\uff1a")),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"\u4f7f\u7528\u4e86 ",(0,r.kt)("inlineCode",{parentName:"li"},"Microsoft.AspNetCore.Mvc.NewtonsoftJson")," \u5305\u5e76\u6dfb\u52a0\u4e86 ",(0,r.kt)("inlineCode",{parentName:"li"},"AddNewtonsoftJson()")," \u6ce8\u518c\u3002"),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},".AddNewtonsoftJson()")," \u5199\u5728\u4e86 ",(0,r.kt)("inlineCode",{parentName:"li"},".AddInjectWithUnifyResult()")," \u540e\u9762\u3002")),(0,r.kt)("p",null,"\u6240\u4ee5\u89e3\u51b3\u65b9\u6cd5\u662f\uff0c\u5148\u6ce8\u518c ",(0,r.kt)("inlineCode",{parentName:"p"},".AddNewtonsoftJson()")," \u518d\u6ce8\u518c\u89c4\u8303\u5316\u7ed3\u679c\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2}",showLineNumbers:!0,"":!0,"{2}":!0},"services.AddControllers()\n .AddNewtonsoftJson()\n .AddInjectWithUnifyResult();\n")),(0,r.kt)("h3",{id:"6525-swagger-\u591a\u8bed\u8a00\u652f\u6301"},"6.5.25 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u591a\u8bed\u8a00\u652f\u6301"),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 2.9.0 + ")," \u7248\u672c\u5df2\u7ecf\u652f\u6301\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u6587\u6863\u5730\u5740 ",(0,r.kt)("inlineCode",{parentName:"p"},"?culture=en-US")," \u53c2\u6570\u591a\u8bed\u8a00\u8f6c\u53d1\u529f\u80fd\u4e86\uff0c\u4e5f\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u5730\u5740\u5e26 ",(0,r.kt)("inlineCode",{parentName:"p"},"?culture=")," \u53c2\u6570\u5c06\u81ea\u52a8\u6dfb\u52a0\u5230\u6bcf\u4e00\u4e2a\u8bf7\u6c42\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"api")," \u5730\u5740\u4e2d\u3002"),(0,r.kt)("h3",{id:"6526-\u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236-swagger-\u6bcf\u4e00\u4e2a-api-\u53ef\u89c1\u6027"},"6.5.26 \u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u6bcf\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"h3"},"api")," \u53ef\u89c1\u6027"),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u9700\u8981\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u63a5\u53e3\u53ef\u89c1\u6027\uff0c\u6bd4\u5982\u6839\u636e\u6743\u9650\uff0c\u4e0d\u540c\u7528\u6237\u7c7b\u578b\uff0c\u5404\u79cd\u903b\u8f91\u63a7\u5236\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,6}",showLineNumbers:!0,"{4,6}":!0},"// \u4e5f\u53ef\u4ee5\u7528 .AddInjectWithUnifyResult\nservices.AddInject(options =>\n{\n options.ConfigureSwaggerGen(gen =>\n {\n gen.DocInclusionPredicate((currentGroup, apiDescription) =>\n {\n // Furion \u5185\u90e8\u68c0\u67e5\uff0c\u5fc5\u987b\u653e\u7b2c\u4e00\u884c\n var isShow = SpecificationDocumentBuilder.CheckApiDescriptionInCurrentGroup(currentGroup, apiDescription);\n\n // \u83b7\u53d6\u5f53\u524d\u65b9\u6cd5\n _ = apiDescription.TryGetMethodInfo(out var method);\n\n // \u6709\u4e86\u65b9\u6cd5\uff0c\u8fd9\u91cc\u505a\u4f60\u60f3\u505a\u7684\u4e8b\u60c5\uff0cisShow \u8bbe\u7f6e true \u53ef\u89c1\uff0c\u8bbe\u7f6e false \u4e0d\u53ef\u89c1\n\n return isShow;\n });\n });\n});\n")),(0,r.kt)("h3",{id:"6527-\u914d\u7f6e-mvc-\u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406"},"6.5.27 \u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"h3"},"MVC")," \u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "UnifyResultSettings": {\n "SupportMvcController": true\n }\n}\n')),(0,r.kt)("h3",{id:"6528-swagger-\u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001"},"6.5.28 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u5237\u65b0\u6d4f\u89c8\u5668\u540e\uff0c\u6388\u6743\u72b6\u6001\u5c06\u88ab\u91cd\u7f6e\uff0c\u4e5f\u5c31\u662f\u9700\u8981\u91cd\u65b0\u767b\u5f55\uff0c\u901a\u8fc7\u4e0b\u9762\u4ee3\u7801\u5728 ",(0,r.kt)("strong",{parentName:"p"},"\u7528\u6237\u767b\u5f55\u6210\u529f\u540e")," \u8c03\u7528\u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'// ....\u9a8c\u8bc1\u7528\u6237\u540d/\u5bc6\u7801....\n\n_httpContextAccessor.HttpContext.SigninToSwagger("\u4f20\u5165 token");\n')),(0,r.kt)("h3",{id:"6529-\u5e26\u767b\u5f55\u7684-swagger-\u6587\u6863"},"6.5.29 \u5e26\u767b\u5f55\u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u6587\u6863"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.3+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u662f\u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u8bbf\u95ee\u7684\uff0c\u8fd9\u6837\u4e5f\u66b4\u9732\u51fa\u4e00\u4e9b\u5b89\u5168\u95ee\u9898\uff0c\u6240\u4ee5\u5728\u8be5\u7248\u672c\u4e4b\u540e\u6dfb\u52a0\u4e86\u767b\u5f55\u529f\u80fd\uff0c\u53ea\u9700\u8981\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"SpecificationDocumentSettings")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"LoginInfo")," \u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-6}",showLineNumbers:!0,"{2-6}":!0},'{\n "SpecificationDocumentSettings": {\n "LoginInfo": {\n "Enabled": true,\n "CheckUrl": "/Home/CheckUrl",\n "SubmitUrl": "/Home/SubmitUrl",\n "UserName": "admin",\n "Password": "admin"\n }\n }\n}\n')),(0,r.kt)("h4",{id:"\u914d\u7f6e\u8bf4\u660e"},"\u914d\u7f6e\u8bf4\u660e"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"LoginInfo"),"\uff1a\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger")," \u662f\u5426\u9700\u8981\u767b\u5f55\u624d\u80fd\u8bbf\u95ee\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationLoginInfo")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"null"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.3.3+` \u6709\u6548"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Enabled"),"\uff1a\u662f\u5426\u542f\u7528\u767b\u5f55\u6388\u6743\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"CheckUrl"),"\uff1a\u68c0\u67e5\u767b\u5f55\u72b6\u6001\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42"),"\uff0c\u5df2\u6388\u6743\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401"),"\uff0c\u652f\u6301\u76f8\u5bf9\u5730\u5740\uff0c\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},"/")," \u5f00\u5934"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SubmitUrl"),"\uff1a\u63d0\u4ea4\u767b\u5f55\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42\u4e14\u53ea\u6709\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"strong"},"SpecificationAuth")," \u7c7b\u578b\u53c2\u6570"),"\uff0c\u6210\u529f\u767b\u5f55\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401"),"\uff0c\u652f\u6301\u76f8\u5bf9\u5730\u5740\uff0c\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},"/")," \u5f00\u5934")))),(0,r.kt)("h4",{id:"\u914d\u7f6e\u793a\u4f8b"},"\u914d\u7f6e\u793a\u4f8b"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {10-14,16-31}",showLineNumbers:!0,"{10-14,16-31}":!0},'using Furion.SpecificationDocument;\nusing Microsoft.AspNetCore.Authorization;\nusing Microsoft.AspNetCore.Mvc;\nusing System.ComponentModel.DataAnnotations;\n\nnamespace Furion.Web.Entry.Controllers;\n\npublic class HomeController : Controller\n{\n [HttpPost, AllowAnonymous, NonUnify]\n public int CheckUrl()\n {\n return 401;\n }\n\n [HttpPost, AllowAnonymous, NonUnify]\n public int SubmitUrl([FromForm] SpecificationAuth auth)\n {\n // \u8bfb\u53d6\u914d\u7f6e\u4fe1\u606f\n var userName = App.Configuration["SpecificationDocumentSettings:LoginInfo:UserName"];\n var password = App.Configuration["SpecificationDocumentSettings:LoginInfo:Password"];\n\n if (auth.UserName == userName && auth.Password == password)\n {\n return 200;\n }\n else\n {\n return 401;\n }\n }\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/swgdl.png")}),(0,r.kt)("h2",{id:"6530-inheritdoc-\u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f"},"6.5.30 ",(0,r.kt)("inlineCode",{parentName:"h2"},"inheritdoc")," \u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.3+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728\u8fc7\u53bb\u6211\u4eec\u5728\u63a5\u53e3\u5b9a\u4e49\u7684\u65f6\u5019\u7f16\u5199\u4e86\u5b8c\u6574\u7684\u6210\u5458\u6ce8\u91ca\uff0c\u7136\u540e\u5728\u6d3e\u751f\u6210\u5458\u4e2d\u53c8\u8981\u91cd\u590d\u5199\u4e00\u6b21\uff0c\u5b9e\u9645\u4e0a\u505a\u4e86\u5f88\u5927\u65e0\u7528\u529f\uff0c\u73b0\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u652f\u6301\u4e86\u6ce8\u91ca\u7ee7\u627f\u4e86\uff0c\u540c\u65f6 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4e2d\u4e5f\u80fd\u6b63\u786e\u663e\u793a\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,8,14}",showLineNumbers:!0,"{5,8,14}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n /// \n public class TestInheritdoc : ITestInheritdoc, IDynamicApiController\n {\n /// \n public string GetName()\n {\n return "Furion";\n }\n\n /// \n public string GetVersion()\n {\n return "3.3.3";\n }\n }\n\n /// \n /// \u6d4b\u8bd5\u6ce8\u91ca\u7ee7\u627f\n /// \n public interface ITestInheritdoc\n {\n /// \n /// \u83b7\u53d6\u540d\u79f0\n /// \n /// \n string GetName();\n\n /// \n /// \u83b7\u53d6\u7248\u672c\n /// \n /// \n string GetVersion();\n }\n}\n\n')),(0,r.kt)("p",null,"\u663e\u793a\u6548\u679c\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/cdr22.png")}),(0,r.kt)("admonition",{title:"\u6ce8\u610f\u4e8b\u9879",type:"important"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"")," \u4e0d\u6307\u5b9a ",(0,r.kt)("inlineCode",{parentName:"p"},"cref")," ",(0,r.kt)("strong",{parentName:"p"},"\u4ec5\u9650\u6210\u5458\u53ef\u7528"),"\u4e14\u6240\u5728\u7684\u7c7b\u578b\u5fc5\u987b\u6307\u5b9a ",(0,r.kt)("inlineCode",{parentName:"p"},''),"\uff0c\u8fd9\u6837\u624d\u80fd\u81ea\u52a8\u8bc6\u522b\u3002")),(0,r.kt)("h3",{id:"6531-\u542f\u7528-all-groups-\u5206\u7ec4\u529f\u80fd"},"6.5.31 \u542f\u7528 ",(0,r.kt)("inlineCode",{parentName:"h3"},"All Groups")," \u5206\u7ec4\u529f\u80fd"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.4+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u4e3a\u4e86\u66f4\u597d\u7684\u5bf9\u63a5\u53e3\u8fdb\u884c\u5f52\u7c7b\uff0c\u914d\u7f6e\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u591a\u4e2a\u5206\u7ec4\u7684\u529f\u80fd\uff0c\u4f46\u8fd9\u6837\u4e5f\u5bf9\u751f\u6210\u5ba2\u6237\u7aef\u8bf7\u6c42\u4ee3\u7801\u9020\u6210\u4e86\u56f0\u6270\uff0c\u6240\u4ee5\u6dfb\u52a0\u4e86\u65b0\u7684\u914d\u7f6e\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-3}",showLineNumbers:!0,"{2-3}":!0},'{\n "SpecificationDocumentSettings": {\n "EnableAllGroups": true\n }\n}\n')),(0,r.kt)("h3",{id:"6532-\u63a5\u53e3\u8fc7\u65f6\u63a7\u5236"},"6.5.32 \u63a5\u53e3\u8fc7\u65f6\u63a7\u5236"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.5+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u67d0\u4e2a\u63a5\u53e3\u5df2\u7ecf\u8fc7\u65f6\uff0c\u63d0\u793a\u5c3d\u65e9\u8c03\u7528\u6700\u65b0\u63a5\u53e3\uff0c\u53ea\u9700\u8981\u5728\u65b9\u6cd5\u4e0a\u9762\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[Obsolete]")," \u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},'[Obsolete("GetName() \u5df2\u7ecf\u8fc7\u65f6\uff0c\u8bf7\u8c03\u7528 GetFrameworkName() \u66ff\u4ee3")]\npublic string GetName()\n{\n return nameof(Furion);\n}\n\n[Obsolete]\npublic string Other()\n{\n // ...\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/swg2.png")}),(0,r.kt)("h3",{id:"6533-\u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0"},"6.5.33 \u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.5+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728\u8be5\u7248\u672c\u65b0\u589e\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"[ApiDescriptionSettings]")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Description")," \u5c5e\u6027\uff0c\u652f\u6301\u5b9a\u4e49\u66f4\u591a\u63cf\u8ff0\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'[ApiDescriptionSettings(Description = "\u6211\u662f\u4e00\u6bb5\u63cf\u8ff0\uff0c\u663e\u793a\u66f4\u591a\u5185\u5bb9 ")]\npublic string add()\n{\n //....\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/swg1.png")}),(0,r.kt)("h3",{id:"6534-swagger-\u5f02\u5e38\u4e0d\u80fd\u663e\u793a\u9519\u8bef\u5904\u7406"},"6.5.34 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u5f02\u5e38/\u4e0d\u80fd\u663e\u793a/\u9519\u8bef\u5904\u7406"),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u53ef\u80fd\u56e0\u4e3a\u9519\u8bef\u7684\u914d\u7f6e\u5bfc\u81f4 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4e0d\u80fd\u663e\u793a\uff0c\u8fd9\u65f6\u5019\u53ea\u9700\u8981\u590d\u5236\u63d0\u793a\u7684\u9519\u8bef ",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u94fe\u63a5\u5730\u5740\u5230\u6d4f\u89c8\u5668\u4e2d\u8bbf\u95ee\u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"https://localhost:\u4f60\u7684\u7aef\u53e3/swagger/Default/swagger.json\n")),(0,r.kt)("p",null,"\u540e\u9762\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"/swagger/Default/swagger.json")," \u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u9519\u8bef\u63d0\u793a\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u94fe\u63a5\u5730\u5740\u3002"),(0,r.kt)("p",null,"\u8fd9\u6837\u5c31\u53ef\u4ee5\u770b\u5230\u8be6\u7ec6\u7684\u9519\u8bef\u4e86\u3002"),(0,r.kt)("img",{src:(0,l.Z)("img/sperr.png")}),(0,r.kt)("img",{src:(0,l.Z)("img/sperr2.png")}),(0,r.kt)("h3",{id:"6535-\u81ea\u5b9a\u4e49-swagger-\u7684-schemaid"},"6.5.35 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"SchemaId")),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.6.4+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u6709\u65f6\u5019\uff0c\u4e0d\u540c\u7a0b\u5e8f\u96c6\u4f1a\u5b9a\u4e49\u76f8\u540c\u7684\u7c7b\u578b\u540d\u79f0 ",(0,r.kt)("inlineCode",{parentName:"p"},"Name"),"\uff0c\u8fd9\u6837\u5c31\u4f1a\u5bfc\u81f4\u751f\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"SchemaId")," \u51fa\u73b0\u51b2\u7a81\uff0c\u8fd9\u65f6\u53ea\u9700\u8981\u5728\u7c7b\u578b\u4e0a\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[SchemaId]")," \u7279\u6027\u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},'using Furion.SpecificationDocument;\n\n[SchemaId("Other_")]\npublic class PersonDto\n{\n // ...\n}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SchemaIdAttribute")," \u914d\u7f6e\u9009\u9879\uff1a",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SchemaId"),"\uff1a\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"li"},"SchemaId"),"\uff0c\u5b57\u7b26\u4e32\u7c7b\u578b\uff0c\u53ea\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"li"},"\u5b57\u6bcd,\u6570\u5b57\uff0c\u4e0b\u5212\u7ebf")," \u7ec4\u5408"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Replace"),"\uff1a\u662f\u5426\u5b8c\u5168\u66ff\u6362\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false"),"\uff0c\u9ed8\u8ba4\u662f\u4f5c\u4e3a\u524d\u7f00\u62fc\u63a5\uff0c\u5982\u4e0a\u9762\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"PersonDto")," \u4f1a\u751f\u6210 ",(0,r.kt)("inlineCode",{parentName:"li"},"Other_PersonDto"),"\uff0c\u5982\u679c\u8bbe\u7f6e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"li"},"true"),"\uff0c\u5219\u76f4\u63a5\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},"Test_"))))),(0,r.kt)("h3",{id:"6536-\u81ea\u5b9a\u4e49-swagger-\u7684-operationid"},"6.5.36 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"OperationId")),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 4.1.7+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u901a\u8fc7\u6211\u4eec\u6839\u636e ",(0,r.kt)("inlineCode",{parentName:"p"},"swagger.json")," \u751f\u6210\u524d\u7aef\u4ee3\u7801\u65f6\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4f1a\u81ea\u52a8\u6839\u636e\u8def\u7531\u5730\u5740\u751f\u6210\u8c03\u7528\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"api")," \u540d\u79f0\uff0c\u4f46\u8fd9\u6837\u7684\u540d\u79f0\u5f80\u5f80\u4e0d\u6613\u8bfb\uff0c\u8fd9\u65f6\u5019\u53ef\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"[OperationId]")," \u6765\u914d\u7f6e\u751f\u6210\u7684\u524d\u7aef\u540d\u79f0\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5}",showLineNumbers:!0,"{5}":!0},'using Furion.SpecificationDocument;\n\npublic class PersonDto\n{\n [OperationId("MyClientMethodName")]\n public string TestMethod()\n {\n // ...\n }\n}\n')),(0,r.kt)("h3",{id:"6537-swagger-\u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684-markdown"},"6.5.37 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Markdown")),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6700\u65b0\u7248\u4e2d\uff0c\u652f\u6301\u4e86\u5b8c\u6574\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Markdown")," \u6ce8\u518c\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,80}",showLineNumbers:!0,"{4,80}":!0},'/// \n/// \u6d4b\u8bd5 Markdown\n/// \n/// \n/// # \u5148\u77e5 / Furion ([\u63a2\u7d22\u7248](https://gitee.com/dotnetchina/Furion/tree/experimental/))\n///\n/// \u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6846\u67b6\uff0c\u60a8\u53ef\u4ee5\u5c06\u5b83\u96c6\u6210\u5230\u4efb\u4f55.NET/C# \u5e94\u7528\u7a0b\u5e8f\u4e2d\u3002\n///\n/// An application framework that you can integrate into any.NET/C# application.\n///\n/// ## \u5b89\u88c5 / Installation\n///\n/// - [Package Manager] (https://www.nuget.org/packages/Furion)\n///\n/// ```powershell\n/// Install-Package Furion\n/// ```\n///\n/// - [.NET CLI] (https://www.nuget.org/packages/Furion)\n///\n/// ```powershell\n/// dotnet add package Furion\n/// ```\n///\n/// ## \u4f8b\u5b50 / Examples\n///\n/// \u6211\u4eec\u5728[\u4e3b\u9875](https://furion.baiqian.ltd)\u4e0a\u6709\u4e0d\u5c11\u4f8b\u5b50\uff0c\u8fd9\u662f\u8ba9\u60a8\u5165\u95e8\u7684\u7b2c\u4e00\u4e2a\uff1a\n///\n/// We have several examples [on the website] (https://furion.baiqian.ltd). Here is the first one to get you started:\n///\n/// ```cs\n/// Serve.Run();\n///\n/// [DynamicApiController]\n/// public class HelloService\n/// {\n/// public string Say()\n/// {\n/// return "Hello, Furion";\n/// }\n/// }\n/// ```\n///\n/// \u6253\u5f00\u6d4f\u89c8\u5668\u8bbf\u95ee `https://localhost:5001`\u3002\n///\n/// Open browser access `https://localhost:5001`.\n///\n/// ## \u6587\u6863 / Documentation\n///\n/// \u60a8\u53ef\u4ee5\u5728[\u4e3b\u9875] (https://furion.baiqian.ltd)\u6216[\u5907\u4efd\u4e3b\u9875](https://furion.icu)\u627e\u5230 Furion \u6587\u6863\u3002\n///\n/// You can find the Furion documentation[on the website](https://furion.baiqian.ltd) or [on the backup website](https://furion.icu).\n///\n/// ## \u8d21\u732e / Contributing\n///\n/// \u8be5\u5b58\u50a8\u5e93\u7684\u4e3b\u8981\u76ee\u7684\u662f\u7ee7\u7eed\u53d1\u5c55 Furion \u6838\u5fc3\uff0c\u4f7f\u5176\u66f4\u5feb\u3001\u66f4\u6613\u4e8e\u4f7f\u7528\u3002 Furion \u7684\u5f00\u53d1\u5728[Gitee](https://gitee.com/dotnetchina/Furion) \u4e0a\u516c\u5f00\u8fdb\u884c\uff0c\u6211\u4eec\u611f\u8c22\u793e\u533a\u8d21\u732e\u9519\u8bef\u4fee\u590d\u548c\u6539\u8fdb\u3002\n///\n/// \u9605\u8bfb[\u8d21\u732e\u6307\u5357] (https://furion.baiqian.ltd/docs/contribute)\u5185\u5bb9\uff0c\u4e86\u89e3\u5982\u4f55\u53c2\u4e0e\u6539\u8fdb Furion\u3002\n///\n/// The main purpose of this repository is to continue evolving Furion core, making it faster and easier to use.Development of Furion happens in the open on[Gitee] (https://gitee.com/dotnetchina/Furion), and we are grateful to the community for contributing bugfixes and improvements.\n///\n/// Read[contribution documents] (https://furion.baiqian.ltd/docs/contribute) to learn how you can take part in improving Furion.\n///\n/// ## \u8bb8\u53ef\u8bc1 / License\n///\n/// Furion \u91c7\u7528[MIT](https://gitee.com/dotnetchina/Furion/blob/v4/LICENSE) \u5f00\u6e90\u8bb8\u53ef\u8bc1\u3002\n///\n/// Furion uses the[MIT] (https://gitee.com/dotnetchina/Furion/blob/v4/LICENSE) open source license.\n///\n/// ```\n/// Copyright(c) 2020-2022 \u767e\u5c0f\u50e7, Baiqian Co., Ltd.\n/// Furion is licensed under Mulan PSL v2.\n/// You can use this software according to the terms andconditions of the Mulan PSL v2.\n/// You may obtain a copy of Mulan PSL v2 at:\n/// https://gitee.com/dotnetchina/Furion/blob/v4/LICENSE\n/// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUTWARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n/// See the Mulan PSL v2 for more details.\n/// ```\n///\n/// \n/// \npublic string Hello()\n{\n return "Furion";\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/mdx.png")}),(0,r.kt)("h3",{id:"6538-\u7b2c\u4e09\u65b9-ui-\u96c6\u6210\u5982-knife4jui"},"6.5.38 \u7b2c\u4e09\u65b9 ",(0,r.kt)("inlineCode",{parentName:"h3"},"UI")," \u96c6\u6210\uff0c\u5982 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Knife4jUI")),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\uff0c\u96c6\u6210\u7b2c\u4e09\u65b9 ",(0,r.kt)("inlineCode",{parentName:"p"},"SwaggerUI")," \u975e\u5e38\u5bb9\u6613\uff0c\u6bd4\u5982\u96c6\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"IGeekFan.AspNetCore.Knife4jUI"),"\uff1a"),(0,r.kt)("admonition",{title:"\u5b89\u88c5\u5305",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u53ea\u9700\u8981\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"YourPoject.Web.Core")," \u5c42\u5b89\u88c5 ",(0,r.kt)("inlineCode",{parentName:"p"},"IGeekFan.AspNetCore.Knife4jUI")," \u5373\u53ef\u3002")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u72ec\u7acb\u7248\u672c\u914d\u7f6e")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,12}",showLineNumbers:!0,"{1,3,12}":!0},'var routePrefix = "api"; // \u5b9a\u4e49 swagger \u8def\u7531\u5730\u5740\uff0c\u5982\u679c\u662f\u8ddf\u76ee\u5f55\uff0c\u8bbe\u7f6e string.Empty \u5373\u53ef\n\napp.UseKnife4UI(options =>\n{\n options.RoutePrefix = routePrefix; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(routePrefix); // \u914d\u7f6e Furion \u8def\u7531\u5730\u5740\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u548c ",(0,r.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u5171\u5b58\u7248\u672c\u914d\u7f6e")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,10}",showLineNumbers:!0,"{1,3,10}":!0},'app.UseKnife4UI(options =>\n{\n options.RoutePrefix = "newapi"; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\uff0c\u73b0\u5728\u662f /newapi\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(); // Furion \u9ed8\u8ba4 api \u5730\u5740\u4e3a /api\n')),(0,r.kt)("img",{src:(0,l.Z)("img/sg20.png")}),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u5982\u9700\u5b9e\u73b0\u767b\u5f55\u4e4b\u540e\u81ea\u52a8\u5c06 ",(0,r.kt)("inlineCode",{parentName:"strong"},"token")," \u6dfb\u52a0\u5230\u5934\u90e8\u53ef\u5728\u767b\u5f55\u63a5\u53e3 ",(0,r.kt)("inlineCode",{parentName:"strong"},"AfterScript")," \u6267\u884c\u4ee5\u4e0b\u4ee3\u7801\uff1a")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},'ke.global.setAllHeader(\n "Authorization",\n "Bearer " + ke.response.headers["access-token"]\n);\n')),(0,r.kt)("img",{src:(0,l.Z)("img/kni.jpg")}),(0,r.kt)("h2",{id:"66-specificationdocumentsettings-\u914d\u7f6e"},"6.6 ",(0,r.kt)("inlineCode",{parentName:"h2"},"SpecificationDocumentSettings")," \u914d\u7f6e"),(0,r.kt)("p",null,"\u9664\u4e86\u4e0a\u8ff0\u4f8b\u5b50\u5916\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u63d0\u4f9b\u4e86\u4e00\u4e9b\u914d\u7f6e\u9009\u9879\uff0c\u5982\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DocumentTitle"),"\uff1a\u6587\u6863\u6807\u9898\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"Specification Api Document")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DefaultGroupName"),"\uff1a\u9ed8\u8ba4\u5206\u7ec4\u540d\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"Default")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableAuthorized"),"\uff1a\u662f\u5426\u542f\u7528\u6743\u9650\u63a7\u5236\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"FormatAsV2"),"\uff1a\u91c7\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger 2.0")," \u7248\u672c\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false")," ",(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("a",{parentName:"strong",href:"https://github.com/domaindrivendev/Swashbuckle.WebApi/issues/1393"},"\u5df2\u5f03\u7528"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"RoutePrefix"),"\uff1a\u89c4\u8303\u5316\u6587\u6863\u5730\u5740\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"api"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u5982\u679c\u5e0c\u671b\u5728\u9996\u9875\uff0c\u6539\u4e3a\u7a7a\u5b57\u7b26\u4e32\u5373\u53ef"),"\u3002"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DocExpansionState"),"\uff1a\u6587\u6863\u663e\u793a\u65b9\u5f0f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"DocExpansion"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"List"),"\uff0c\u53d6\u503c\uff1a",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"List"),"\uff1a\u5217\u8868\u5f0f\uff08\u5c55\u5f00\u5b50\u7c7b\uff09\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u9ed8\u8ba4\u503c")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Full"),"\uff1a\u5b8c\u5168\u5c55\u5f00"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"None"),"\uff1a\u5217\u8868\u5f0f\uff08\u4e0d\u5c55\u5f00\u5b50\u7c7b\uff09"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"XmlComments"),"\uff1a\u7a0b\u5e8f\u96c6\u6ce8\u91ca\u63cf\u8ff0\u6587\u4ef6\u540d\uff08\u53ef\u5e26 ",(0,r.kt)("inlineCode",{parentName:"li"},".xml"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"Furion.Application, Furion.Web.Entry, Furion.Web.Core")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"GroupOpenApiInfos"),"\uff1a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationOpenApiInfo[]"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"{ 'Group': 'Default'}")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SecurityDefinitions"),"\uff1a\u5b89\u5168\u7b56\u7565\u5b9a\u4e49\u914d\u7f6e\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationOpenApiSecurityScheme[]"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"[]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Servers"),"\uff1a\u914d\u7f6e Server \u4e0b\u62c9\u5217\u8868\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"OpenApiServer[]")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"[]"),"\uff0c\u5982\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},'{Servers:[ { Url:"\u5730\u5740", Description:"\u63cf\u8ff0"} ]}')),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"HideServers"),"\uff1a\u662f\u5426\u9690\u85cf Server \u4e0b\u62c9\u5217\u8868\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"RouteTemplate"),"\uff1a\u914d\u7f6e\u6587\u6863 ",(0,r.kt)("inlineCode",{parentName:"li"},"swagger.json")," \u8def\u7531\u6a21\u677f\uff0c\u9ed8\u8ba4\u6a21\u677f\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"swagger/{documentName}/swagger.json"),", ",(0,r.kt)("inlineCode",{parentName:"li"},"{documentName}")," \u4ee3\u8868\u5206\u7ec4\u540d\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u5fc5\u987b\u4fdd\u7559\u539f\u6837")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"PackagesGroups"),"\uff1a\u914d\u7f6e\u6a21\u5757\u5316\u5185\u7f6e\u5206\u7ec4\u540d\u79f0\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string[]")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"[]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableEnumSchemaFilter"),"\uff1a\u542f\u7528\u679a\u4e3e Schema \u7b5b\u9009\u5668\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableTagsOrderDocumentFilter"),"\uff1a\u542f\u7528\u6807\u7b7e\u6392\u5e8f\u7b5b\u9009\u5668\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"ServerDir"),"\uff1a\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"IIS")," \u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"li"},"Application")," \u90e8\u7f72\u540d\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b\uff0c\u9ed8\u8ba4\u7a7a\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.2.0+` \u6709\u6548")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"LoginInfo"),"\uff1a\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger")," \u662f\u5426\u9700\u8981\u767b\u5f55\u624d\u80fd\u8bbf\u95ee\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationLoginInfo")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"null"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.3.3+` \u6709\u6548"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Enabled"),"\uff1a\u662f\u5426\u542f\u7528\u767b\u5f55\u6388\u6743\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"CheckUrl"),"\uff1a\u68c0\u67e5\u767b\u5f55\u72b6\u6001\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42"),"\uff0c\u5df2\u6388\u6743\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SubmitUrl"),"\uff1a\u63d0\u4ea4\u767b\u5f55\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42\u4e14\u53ea\u6709\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"strong"},"SpecificationAuth")," \u7c7b\u578b\u53c2\u6570"),"\uff0c\u6210\u529f\u767b\u5f55\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401"),"\uff0c\u652f\u6301\u76f8\u5bf9\u5730\u5740\uff0c\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},"/")," \u5f00\u5934"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableAllGroups"),"\uff1a\u542f\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger")," \u603b\u5206\u7ec4\u529f\u80fd\uff0c\u81ea\u52a8\u5c06\u6240\u6709\u5206\u7ec4\u7684\u63a5\u53e3\u5408\u5e76\u5230 ",(0,r.kt)("inlineCode",{parentName:"li"},"All Groups")," \u4e2d\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.3.4+` \u6709\u6548"))),(0,r.kt)("p",null,"\u53e6\u5916 ",(0,r.kt)("inlineCode",{parentName:"p"},"SpecificationOpenApiInfo")," \u5185\u7f6e\u914d\u7f6e\u5982\u4e0b\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Group"),"\uff1a\u5206\u7ec4\u552f\u4e00\u6807\u8bc6\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b\uff0c\u5fc5\u586b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Order"),"\uff1a\u5206\u7ec4\u6392\u5e8f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"int")," \u7c7b\u578b\uff0c\u6570\u5b57\u8d8a\u5927\u6392\u524d\u9762\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"0")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Visible"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u662f\u5426\u53ef\u89c1\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Title"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u6807\u9898\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Description"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u63cf\u8ff0\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Version"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u7248\u672c\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"1.0")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"TermsOfService"),"\uff1a\u914d\u7f6e\u76f8\u5173\u94fe\u63a5\u5730\u5740\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"Uri")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Contact"),"\uff1a\u914d\u7f6e\u8054\u7cfb\u65b9\u5f0f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"OpenApiContact")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"License"),"\uff1a\u914d\u7f6e\u534f\u8bae\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"OpenApiLicense")," \u7c7b\u578b")),(0,r.kt)("p",null,"\u914d\u7f6e\u793a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Title": "\u5206\u7ec4\u6807\u9898",\n "Description": "\u8fd9\u91cc\u662f\u5206\u7ec4\u63cf\u8ff0",\n "Version": "\u7248\u672c\u53f7",\n "TermsOfService": "https://furion.icu",\n "Contact": {\n "Name": "\u767e\u5c0f\u50e7",\n "Url": "https://gitee.com/monksoul",\n "Email": "monksoul@outlook.com"\n },\n "License": {\n "Name": "MIT",\n "Url": "https://gitee.com/dotnetchina/Furion/blob/alpha/LICENSE"\n }\n }\n ]\n }\n}\n')),(0,r.kt)("h2",{id:"67-\u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b\u89c4\u8303\u5316\u7ed3\u679capi-\u8fd4\u56de\u503c"},"6.7 \u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b/\u89c4\u8303\u5316\u7ed3\u679c/API \u8fd4\u56de\u503c"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b ",(0,r.kt)("inlineCode",{parentName:"p"},"\u89c4\u8303\u5316\u7ed3\u679c")," \u529f\u80fd\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b9e\u73b0 ",(0,r.kt)("inlineCode",{parentName:"p"},"IUnifyResultProvider")," \u63d0\u4f9b\u5668\u5b9e\u73b0\u7edf\u4e00\u89c4\u8303\u5316\u8fd4\u56de\u503c\u5b9a\u5236\uff0c\u5982\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"\u5b9a\u4e49\u7ed3\u679c\u5305\u88c5\u7c7b\u578b"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2}",showLineNumbers:!0,"{1-2}":!0},"// \u5fc5\u987b\u662f\u6cdb\u578b\u7c7b\u578b\npublic class YourRESTfulResult\n{\n /// \n /// \u72b6\u6001\u7801\n /// \n public int? StatusCode { get; set; }\n\n /// \n /// \u6570\u636e\n /// \n public T Data { get; set; }\n\n /// \n /// \u6267\u884c\u6210\u529f\n /// \n public bool Succeeded { get; set; }\n\n /// \n /// \u9519\u8bef\u4fe1\u606f\n /// \n public object Errors { get; set; }\n\n /// \n /// \u9644\u52a0\u6570\u636e\n /// \n public object Extras { get; set; }\n\n /// \n /// \u65f6\u95f4\u6233\n /// \n public long Timestamp { get; set; }\n}\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"strong"},"IUnifyResultProvider")," \u5b9e\u73b0\u7c7b\uff0c\u5e76\u8d34\u7279\u6027 ",(0,r.kt)("inlineCode",{parentName:"strong"},"[UnifyModel(typeof(YourRESTfulResult<>))]")))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {15-16,24,36,48,61}",showLineNumbers:!0,"":!0,"{15-16,24,36,48,61}":!0},'using Furion.DataValidation;\nusing Furion.DependencyInjection;\nusing Furion.UnifyResult.Internal;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Mvc.Filters;\nusing System;\nusing System.Threading.Tasks;\n\nnamespace YourProject.UnifyResult\n{\n /// \n /// RESTful \u98ce\u683c\u8fd4\u56de\u503c\n /// \n [UnifyModel(typeof(YourRESTfulResult<>))]\n public class YourRESTfulResultProvider : IUnifyResultProvider\n {\n /// \n /// \u5f02\u5e38\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)\n {\n return new JsonResult(YourRESTfulResult(metadata.StatusCode, data: metadata.Data, errors: metadata.Errors)\n , UnifyContext.GetSerializerSettings(context)); // \u5f53\u524d\u884c\u4ec5\u9650 Furion 4.6.6+ \u4f7f\u7528\n }\n\n /// \n /// \u6210\u529f\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n {\n return new JsonResult(YourRESTfulResult(StatusCodes.Status200OK, true, data)\n , UnifyContext.GetSerializerSettings(context)); // \u5f53\u524d\u884c\u4ec5\u9650 Furion 4.6.6+ \u4f7f\u7528\n }\n\n /// \n /// \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)\n {\n return new JsonResult(YourRESTfulResult(metadata.StatusCode ?? StatusCodes.Status400BadRequest, data: metadata.Data, errors: metadata.ValidationResult)\n , UnifyContext.GetSerializerSettings(context)); // \u5f53\u524d\u884c\u4ec5\u9650 Furion 4.6.6+ \u4f7f\u7528\n }\n\n /// \n /// \u7279\u5b9a\u72b6\u6001\u7801\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n /// \n public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)\n {\n // \u8bbe\u7f6e\u54cd\u5e94\u72b6\u6001\u7801\n UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);\n\n switch (statusCode)\n {\n // \u5904\u7406 401 \u72b6\u6001\u7801\n case StatusCodes.Status401Unauthorized:\n await context.Response.WriteAsJsonAsync(YourRESTfulResult(statusCode, errors: "401 Unauthorized")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n // \u5904\u7406 403 \u72b6\u6001\u7801\n case StatusCodes.Status403Forbidden:\n await context.Response.WriteAsJsonAsync(YourRESTfulResult(statusCode, errors: "403 Forbidden")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n default: break;\n }\n }\n\n /// \n /// \u8fd4\u56de RESTful \u98ce\u683c\u7ed3\u679c\u96c6\n /// \n /// \n /// \n /// \n /// \n /// \n private static YourRESTfulResult YourRESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)\n {\n return new YourRESTfulResult\n {\n StatusCode = statusCode,\n Succeeded = succeeded,\n Data = data,\n Errors = errors,\n Extras = UnifyContext.Take(),\n Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()\n };\n }\n }\n}\n')),(0,r.kt)("p",null,"\u4e4b\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u4e2d\u6ce8\u518c\u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"services.AddControllers()\n .AddInjectWithUnifyResult();\n")),(0,r.kt)("admonition",{title:"\u7279\u522b\u6ce8\u610f",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u89c4\u8303\u5316\u7ed3\u679c\u4e0d\u4f1a\u5bf9 ",(0,r.kt)("inlineCode",{parentName:"p"},"401")," \u548c ",(0,r.kt)("inlineCode",{parentName:"p"},"403"),"\u3001",(0,r.kt)("inlineCode",{parentName:"p"},"404")," \u72b6\u6001\u7801\u8fdb\u884c\u89c4\u8303\u5316\u5904\u7406\uff0c\u5982\u9700\u542f\u52a8\u8be5\u72b6\u6001\u7801\u5904\u7406\uff0c\u53ea\u9700\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Configure")," \u4e2d\u542f\u7528\u63a5\u53e3\uff1a"),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n{\n if (env.IsDevelopment())\n {\n app.UseDeveloperExceptionPage();\n }\n // \u6dfb\u52a0\u89c4\u8303\u5316\u7ed3\u679c\u72b6\u6001\u7801\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u6ce8\u518c\n app.UseUnifyResultStatusCodes();\n // \u5176\u4ed6\u6ce8\u518c...\n}\n"))),(0,r.kt)("h3",{id:"671-\u6392\u9664\u89c4\u8303\u5316\u5904\u7406"},"6.7.1 \u6392\u9664\u89c4\u8303\u5316\u5904\u7406"),(0,r.kt)("p",null,"\u6709\u4e9b\u65f6\u5019\uff0c\u6211\u4eec\u67d0\u4e9b\u63a5\u53e3\u4e0d\u9700\u8981\u8fdb\u884c\u89c4\u8303\u5316\u5904\u7406\uff0c\u8fd9\u65f6\uff0c\u6211\u4eec\u53ea\u9700\u8981\u5e16 ",(0,r.kt)("inlineCode",{parentName:"p"},"[NonUnify]")," \u7279\u6027\u5373\u53ef\u3002"),(0,r.kt)("h3",{id:"672-\u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e"},"6.7.2 \u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u7684\u89c4\u8303\u5316\u7ed3\u679c\u4e2d\u5305\u542b ",(0,r.kt)("inlineCode",{parentName:"p"},"extras")," \u5c5e\u6027\uff0c\u53ef\u4ee5\u914d\u7f6e\u989d\u5916\u6570\u636e\u8fd4\u56de\u5230\u5ba2\u6237\u7aef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'UnifyContext.Fill(new { Message = "\u64cd\u4f5c\u6210\u529f" });\n')),(0,r.kt)("h3",{id:"673-\u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c"},"6.7.3 \u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c"),(0,r.kt)("p",null,"\u6709\u4e9b\u65f6\u5019\uff0c\u6211\u4eec\u7279\u5b9a\u63a5\u53e3\u9700\u8fd4\u56de\u7279\u5b9a\u7684\u63a5\u53e3\u7c7b\u578b\uff0c\u65e0\u9700\u89c4\u8303\u5316\u5904\u7406\uff0c\u8fd9\u65f6\u5019\u6211\u4eec\u53ea\u9700\u8981\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[UnifyResult(typeof(\u7ed3\u679c\u7c7b))]")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"[ProducesResponseType(typeof(\u7ed3\u679c\u7c7b),200)]"),"\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"[UnifyResult(typeof(Person))]\npublic Person GetPerson(int id)\n{\n // ...\n}\n")),(0,r.kt)("h2",{id:"68-\u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e"},"6.8 \u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 4.4.4 +")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728\u4e00\u4e9b\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u53ef\u80fd\u9700\u8981\u9488\u5bf9\u7279\u5b9a\u7684\u63a7\u5236\u5668\uff08\u52a8\u6001 WebAPI\uff09\u6216\u7279\u5b9a\u7684\u65b9\u6cd5\u4f7f\u7528\u4e0d\u540c\u7684\u89c4\u8303\u5316\u5904\u7406\u673a\u5236\uff0c\u8fd9\u65f6\u5c31\u9700\u8981\u591a\u5957\u89c4\u8303\u5316\u5904\u7406\u63d0\u4f9b\u5668\uff0c\u5982\uff1a"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"\u5b9a\u4e49\u89c4\u8303\u5316\u5904\u7406\u63d0\u4f9b\u7a0b\u5e8f"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2,25}",showLineNumbers:!0,"{1-2,25}":!0},"[UnifyModel(typeof(MyResult<>))]\npublic class SpeciallyResultProvider : IUnifyResultProvider\n{\n public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n\n public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n\n public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n\n public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n}\n\npublic class MyResult\n{\n /// \n /// \u6570\u636e\n /// \n public T Data { get; set; }\n}\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"\u6ce8\u518c\u89c4\u8303\u5316\u5904\u7406\u63d0\u4f9b\u5668"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'services.AddUnifyProvider("specially"); // \u6307\u5b9a\u89c4\u8303\u5316\u552f\u4e00\u540d\u79f0\uff0c\u5982\u679c\u4e0d\u6307\u5b9a\u5c31\u4f1a\u66ff\u4ee3\u9ed8\u8ba4\u7684\n')),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"\u5728\u63a7\u5236\u5668/\u52a8\u6001 WebAPI \u4e2d\u4f7f\u7528"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,8,14}",showLineNumbers:!0,"{3,8,14}":!0},'public class TestUnifyProvider : IDynamicApiController\n{\n public string DefaultUnify()\n {\n return "test";\n }\n\n [UnifyProvider]\n public string DefaultUnify2()\n {\n return "test";\n }\n\n [UnifyProvider("specially")]\n public string SpeciallyUnify()\n {\n return "\u7279\u522b";\n }\n}\n')),(0,r.kt)("h2",{id:"69-\u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879"},"6.9 \u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879"),(0,r.kt)("p",null,"\u5f88\u5c11\u5f00\u53d1\u8005\u6ce8\u610f\u5230 ",(0,r.kt)("inlineCode",{parentName:"p"},"new JsonResult(data)")," \u5b9e\u9645\u4e0a\u6709\u7b2c\u4e8c\u4e2a\u53c2\u6570\u7684\uff0c\u4e5f\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"new JsonResult(data, serializerSettings)"),"\uff0c\u90a3\u4e48\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u903b\u8f91\u4f20\u9012\u7b2c\u4e8c\u4e2a\u53c2\u6570\uff0c\u5982\u679c\u4e0d\u4f20\u9012\u5219\u91c7\u7528\u5168\u5c40\u914d\u7f6e\u7684\u5e8f\u5217\u5316\u9009\u9879\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b\u4e24\u79cd\u5904\u7406\u65b9\u5f0f\u3002"),(0,r.kt)("h3",{id:"691-\u901a\u8fc7-jsonresult-\u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570"},"6.9.1 \u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"h3"},"JsonResult")," \u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570"),(0,r.kt)("p",null,"\u8fd9\u79cd\u65b9\u5f0f\u6bd4\u8f83\u539f\u59cb\u5316\uff0c\u4ee3\u7801\u6bd4\u8f83\u7e41\u6742\uff0c\u4e5f\u4e0d\u5229\u4e8e\u7ef4\u62a4\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,4,13-16}",showLineNumbers:!0,"{1,4,13-16}":!0},'[NonUnify]\npublic IActionResult SpecialApi()\n{\n return new JsonResult(new YourRESTfulResult\n {\n StatusCode = 200,\n Succeeded = true,\n Data = new\n {\n Name = "Furion"\n },\n Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()\n }, new JsonSerializerOptions\n {\n PropertyNamingPolicy = null\n });\n}\n')),(0,r.kt)("h3",{id:"692-\u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879-\u63a8\u8350"},"6.9.2 \u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879 ",(0,r.kt)("strong",{parentName:"h3"},"(\u63a8\u8350)")),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 4.6.6 +")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u4e2d\u6ce8\u518c\u4e00\u5957\u65b0\u7684\u89c4\u5219\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'services.AddUnifyJsonOptions("special", new JsonSerializerOptions // \u5982\u679c\u4f7f\u7528 Newtonsoft.Json => new JsonSerializerSettings\n{\n PropertyNamingPolicy = null\n});\n')),(0,r.kt)("p",null,"\u4ee3\u7801\u4f7f\u7528\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'[UnifySerializerSetting("special")]\npublic object SpecialApi()\n{\n return new\n {\n Name = "Furion"\n }\n}\n')),(0,r.kt)("admonition",{title:"\u7279\u522b\u63d0\u9192",type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"\u76ee\u524d ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u6682\u672a\u63d0\u4f9b\u4e2a\u522b\u7684\u63a5\u53e3\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"schema")," \u5e8f\u5217\u5316\u9009\u9879\u3002")),(0,r.kt)("h2",{id:"610-\u53cd\u9988\u4e0e\u5efa\u8bae"},"6.10 \u53cd\u9988\u4e0e\u5efa\u8bae"),(0,r.kt)("admonition",{title:"\u4e0e\u6211\u4eec\u4ea4\u6d41",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u7ed9 Furion \u63d0 ",(0,r.kt)("a",{parentName:"p",href:"https://gitee.com/dotnetchina/Furion/issues/new?issue"},"Issue"),"\u3002")))}N.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[2583],{3905:function(e,n,t){t.d(n,{Zo:function(){return u},kt:function(){return c}});var i=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function l(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=i.createContext({}),s=function(e){var n=i.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},u=function(e){var n=s(e.components);return i.createElement(p.Provider,{value:n},e.children)},m={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},d=i.forwardRef((function(e,n){var t=e.components,a=e.mdxType,r=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=s(t),c=a,k=d["".concat(p,".").concat(c)]||d[c]||m[c]||r;return t?i.createElement(k,l(l({ref:n},u),{},{components:t})):i.createElement(k,l({ref:n},u))}));function c(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var r=t.length,l=new Array(r);l[0]=d;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})),f=null!=k?k:C.map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes}})),h=(0,o.l)(f,(function(e,n){return e.value===n.value}));if(h.length>0)throw new Error('Docusaurus error: Duplicate values "'+h.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.');var b=null===c?c:null!=(n=null!=c?c:null==(t=C.find((function(e){return e.props.default})))?void 0:t.props.value)?n:C[0].props.value;if(null!==b&&!f.some((function(e){return e.value===b})))throw new Error('Docusaurus error: The has a defaultValue "'+b+'" but none of its children has the corresponding value. Available values are: '+f.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");var w=(0,p.U)(),S=w.tabGroupChoices,v=w.setTabGroupChoices,y=(0,a.useState)(b),A=y[0],I=y[1],T=[],F=(0,s.o5)().blockElementScrollPositionUntilNextRender;if(null!=g){var L=S[g];null!=L&&L!==A&&f.some((function(e){return e.value===L}))&&I(L)}var D=function(e){var n=e.currentTarget,t=T.indexOf(n),i=f[t].value;i!==A&&(F(n),I(i),null!=g&&v(g,String(i)))},x=function(e){var n,t=null;switch(e.key){case"ArrowRight":var i,a=T.indexOf(e.currentTarget)+1;t=null!=(i=T[a])?i:T[0];break;case"ArrowLeft":var r,l=T.indexOf(e.currentTarget)-1;t=null!=(r=T[l])?r:T[T.length-1]}null==(n=t)||n.focus()};return a.createElement("div",{className:(0,r.Z)("tabs-container",u)},a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":d},N)},f.map((function(e){var n=e.value,t=e.label,l=e.attributes;return a.createElement("li",(0,i.Z)({role:"tab",tabIndex:A===n?0:-1,"aria-selected":A===n,key:n,ref:function(e){return T.push(e)},onKeyDown:x,onFocus:D,onClick:D},l,{className:(0,r.Z)("tabs__item",m,null==l?void 0:l.className,{"tabs__item--active":A===n})}),null!=t?t:n)}))),l?(0,a.cloneElement)(C.filter((function(e){return e.props.value===A}))[0],{className:"margin-top--md"}):a.createElement("div",{className:"margin-top--md"},C.map((function(e,n){return(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==A})}))))}function c(e){var n=(0,l.Z)();return a.createElement(d,(0,i.Z)({key:String(n)},e))}},3113:function(e,n,t){t.r(n),t.d(n,{assets:function(){return c},contentTitle:function(){return m},default:function(){return N},frontMatter:function(){return u},metadata:function(){return d},toc:function(){return k}});var i=t(3117),a=t(102),r=(t(7294),t(3905)),l=t(4996),o=t(5488),p=t(5162),s=["components"],u={id:"specification-document",title:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863",sidebar_label:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863 (Swagger)"},m=void 0,d={unversionedId:"specification-document",id:"specification-document",title:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863",description:"",source:"@site/docs/specification-document.mdx",sourceDirName:".",slug:"/specification-document",permalink:"/docs/specification-document",draft:!1,editUrl:"https://gitee.com/dotnetchina/Furion/tree/v4/handbook/docs/specification-document.mdx",tags:[],version:"current",lastUpdatedBy:"MonkSoul",lastUpdatedAt:1666234765,formattedLastUpdatedAt:"Oct 20, 2022",frontMatter:{id:"specification-document",title:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863",sidebar_label:"6. \u89c4\u8303\u5316\u63a5\u53e3\u6587\u6863 (Swagger)"},sidebar:"docs",previous:{title:"5.6 Vue/React/Angular \u8bf7\u6c42\u4ee3\u7406",permalink:"/docs/clientapi"},next:{title:"7. \u53cb\u597d\u5f02\u5e38\u5904\u7406",permalink:"/docs/friendly-exception"}},c={},k=[{value:"6.1 \u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863",id:"61-\u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863",level:2},{value:"6.2 \u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863",id:"62-\u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863",level:2},{value:"6.3 \u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863",id:"63-\u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863",level:2},{value:"6.3.1 \u534f\u8bae\u89c4\u8303",id:"631-\u534f\u8bae\u89c4\u8303",level:3},{value:"6.3.2 \u63a5\u53e3\u8def\u5f84\u89c4\u8303",id:"632-\u63a5\u53e3\u8def\u5f84\u89c4\u8303",level:3},{value:"6.3.3 \u7248\u672c\u63a7\u5236\u89c4\u8303",id:"633-\u7248\u672c\u63a7\u5236\u89c4\u8303",level:3},{value:"6.3.4 \u63a5\u53e3\u547d\u540d\u89c4\u8303",id:"634-\u63a5\u53e3\u547d\u540d\u89c4\u8303",level:3},{value:"6.3.5 \u8bf7\u6c42\u53c2\u6570\u89c4\u8303",id:"635-\u8bf7\u6c42\u53c2\u6570\u89c4\u8303",level:3},{value:"6.3.6 \u8fd4\u56de\u6570\u636e\u89c4\u8303",id:"636-\u8fd4\u56de\u6570\u636e\u89c4\u8303",level:3},{value:"6.4 \u4ec0\u4e48\u662f Swagger",id:"64-\u4ec0\u4e48\u662f-swagger",level:2},{value:"6.5 Swagger \u4f7f\u7528",id:"65-swagger-\u4f7f\u7528",level:2},{value:"6.5.1 \u6ce8\u518c\u670d\u52a1",id:"651-\u6ce8\u518c\u670d\u52a1",level:3},{value:"6.5.2 \u9ed8\u8ba4\u5730\u5740",id:"652-\u9ed8\u8ba4\u5730\u5740",level:3},{value:"6.5.3 \u9ed8\u8ba4\u5206\u7ec4",id:"653-\u9ed8\u8ba4\u5206\u7ec4",level:3},{value:"6.5.4 \u6587\u6863\u6ce8\u91ca",id:"654-\u6587\u6863\u6ce8\u91ca",level:3},{value:"6.5.5 \u591a\u5206\u7ec4\u652f\u6301",id:"655-\u591a\u5206\u7ec4\u652f\u6301",level:3},{value:"6.5.6 \u591a\u5206\u7ec4\u6392\u5e8f",id:"656-\u591a\u5206\u7ec4\u6392\u5e8f",level:3},{value:"6.5.7 \u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e",id:"657-\u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e",level:3},{value:"6.5.8 \u7ec4\u4e2d\u7ec4\uff08\u6807\u7b7e\uff09",id:"658-\u7ec4\u4e2d\u7ec4\u6807\u7b7e",level:3},{value:"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d",id:"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d",level:4},{value:"\u8d34\u6807\u7b7e\u4e4b\u540e",id:"\u8d34\u6807\u7b7e\u4e4b\u540e",level:4},{value:"6.5.9 \u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863",id:"659-\u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863",level:3},{value:"6.5.10 \u914d\u7f6e\u6587\u6863\u6807\u9898",id:"6510-\u914d\u7f6e\u6587\u6863\u6807\u9898",level:3},{value:"6.5.11 \u6388\u6743\u63a7\u5236",id:"6511-\u6388\u6743\u63a7\u5236",level:3},{value:"6.5.12 \u5728\u7ebf\u6d4b\u8bd5",id:"6512-\u5728\u7ebf\u6d4b\u8bd5",level:3},{value:"6.5.13 \u6027\u80fd\u76d1\u89c6 MiniProfiler",id:"6513-\u6027\u80fd\u76d1\u89c6-miniprofiler",level:3},{value:"6.5.14 \u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b",id:"6514-\u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b",level:3},{value:"6.5.15 \u9690\u85cf\u7279\u5b9a\u5206\u7ec4",id:"6515-\u9690\u85cf\u7279\u5b9a\u5206\u7ec4",level:3},{value:"6.5.16 \u4e2d\u6587\u4e71\u7801\u95ee\u9898",id:"6516-\u4e2d\u6587\u4e71\u7801\u95ee\u9898",level:3},{value:"6.5.17 \u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed Swagger",id:"6517-\u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed-swagger",level:3},{value:"6.5.18 \u8bbe\u7f6e Example Value \u9ed8\u8ba4\u503c",id:"6518-\u8bbe\u7f6e-example-value-\u9ed8\u8ba4\u503c",level:3},{value:"6.5.19 \u81ea\u5b9a\u4e49 Swagger \u914d\u7f6e",id:"6519-\u81ea\u5b9a\u4e49-swagger-\u914d\u7f6e",level:3},{value:"6.5.20 \u914d\u7f6e Swagger\u7684 Schemes",id:"6520-\u914d\u7f6e-swagger\u7684-schemes",level:3},{value:"6.5.21 \u81ea\u5b9a\u4e49 swagger.json \u8def\u7531\u6a21\u677f",id:"6521-\u81ea\u5b9a\u4e49-swaggerjson-\u8def\u7531\u6a21\u677f",level:3},{value:"6.5.22 \u5173\u4e8e application/x-www-form-urlencoded \u8bf7\u6c42",id:"6522-\u5173\u4e8e-applicationx-www-form-urlencoded-\u8bf7\u6c42",level:3},{value:"6.5.23 Swagger \u51fa\u73b0 CORS \u95ee\u9898\u89e3\u51b3",id:"6523-swagger-\u51fa\u73b0-cors-\u95ee\u9898\u89e3\u51b3",level:3},{value:"6.5.24 Swagger \u51fa\u73b0\u9ed8\u8ba4 xml \u53c2\u6570\u95ee\u9898\u89e3\u51b3",id:"6524-swagger-\u51fa\u73b0\u9ed8\u8ba4-xml-\u53c2\u6570\u95ee\u9898\u89e3\u51b3",level:3},{value:"6.5.25 Swagger \u591a\u8bed\u8a00\u652f\u6301",id:"6525-swagger-\u591a\u8bed\u8a00\u652f\u6301",level:3},{value:"6.5.26 \u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236 Swagger \u6bcf\u4e00\u4e2a api \u53ef\u89c1\u6027",id:"6526-\u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236-swagger-\u6bcf\u4e00\u4e2a-api-\u53ef\u89c1\u6027",level:3},{value:"6.5.27 \u914d\u7f6e MVC \u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406",id:"6527-\u914d\u7f6e-mvc-\u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406",level:3},{value:"6.5.28 Swagger \u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001",id:"6528-swagger-\u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001",level:3},{value:"6.5.29 \u5e26\u767b\u5f55\u7684 Swagger \u6587\u6863",id:"6529-\u5e26\u767b\u5f55\u7684-swagger-\u6587\u6863",level:3},{value:"\u914d\u7f6e\u8bf4\u660e",id:"\u914d\u7f6e\u8bf4\u660e",level:4},{value:"\u914d\u7f6e\u793a\u4f8b",id:"\u914d\u7f6e\u793a\u4f8b",level:4},{value:"6.5.30 inheritdoc \u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f",id:"6530-inheritdoc-\u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f",level:2},{value:"6.5.31 \u542f\u7528 All Groups \u5206\u7ec4\u529f\u80fd",id:"6531-\u542f\u7528-all-groups-\u5206\u7ec4\u529f\u80fd",level:3},{value:"6.5.32 \u63a5\u53e3\u8fc7\u65f6\u63a7\u5236",id:"6532-\u63a5\u53e3\u8fc7\u65f6\u63a7\u5236",level:3},{value:"6.5.33 \u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0",id:"6533-\u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0",level:3},{value:"6.5.34 Swagger \u5f02\u5e38/\u4e0d\u80fd\u663e\u793a/\u9519\u8bef\u5904\u7406",id:"6534-swagger-\u5f02\u5e38\u4e0d\u80fd\u663e\u793a\u9519\u8bef\u5904\u7406",level:3},{value:"6.5.35 \u81ea\u5b9a\u4e49 Swagger \u7684 SchemaId",id:"6535-\u81ea\u5b9a\u4e49-swagger-\u7684-schemaid",level:3},{value:"6.5.36 \u81ea\u5b9a\u4e49 Swagger \u7684 OperationId",id:"6536-\u81ea\u5b9a\u4e49-swagger-\u7684-operationid",level:3},{value:"6.5.37 Swagger \u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684 Markdown",id:"6537-swagger-\u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684-markdown",level:3},{value:"6.5.38 \u7b2c\u4e09\u65b9 UI \u96c6\u6210\uff0c\u5982 Knife4jUI",id:"6538-\u7b2c\u4e09\u65b9-ui-\u96c6\u6210\u5982-knife4jui",level:3},{value:"6.6 SpecificationDocumentSettings \u914d\u7f6e",id:"66-specificationdocumentsettings-\u914d\u7f6e",level:2},{value:"6.7 \u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b/\u89c4\u8303\u5316\u7ed3\u679c/API \u8fd4\u56de\u503c",id:"67-\u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b\u89c4\u8303\u5316\u7ed3\u679capi-\u8fd4\u56de\u503c",level:2},{value:"6.7.1 \u6392\u9664\u89c4\u8303\u5316\u5904\u7406",id:"671-\u6392\u9664\u89c4\u8303\u5316\u5904\u7406",level:3},{value:"6.7.2 \u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e",id:"672-\u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e",level:3},{value:"6.7.3 \u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c",id:"673-\u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c",level:3},{value:"6.8 \u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e",id:"68-\u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e",level:2},{value:"6.9 \u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",id:"69-\u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",level:2},{value:"6.9.1 \u901a\u8fc7 JsonResult \u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570",id:"691-\u901a\u8fc7-jsonresult-\u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570",level:3},{value:"6.9.2 \u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879 (\u63a8\u8350)",id:"692-\u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879-\u63a8\u8350",level:3},{value:"6.10 \u53cd\u9988\u4e0e\u5efa\u8bae",id:"610-\u53cd\u9988\u4e0e\u5efa\u8bae",level:2}],g={toc:k};function N(e){var n=e.components,t=(0,a.Z)(e,s);return(0,r.kt)("wrapper",(0,i.Z)({},g,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"61-\u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863"},"6.1 \u4ec0\u4e48\u662f\u63a5\u53e3\u6587\u6863"),(0,r.kt)("p",null,"\u5728\u73b0\u5728\u79fb\u52a8\u4e3a\u738b\u3001\u591a\u7aef\u4e92\u8f85\u3001\u524d\u7aef\u767e\u82b1\u9f50\u653e\u7684\u5f00\u653e\u65f6\u4ee3\uff0c\u4e0d\u518d\u662f\u4e00\u4eba\u5305\u63fd\u5f0f\u5f00\u53d1\uff0c\u5927\u5bb6\u5404\u53f8\u5176\u804c\uff0c\u540e\u7aef\u5de5\u7a0b\u5e08\u8d1f\u8d23\u63a5\u53e3\u5f00\u53d1\uff0c\u524d\u7aef\u8d1f\u8d23\u63a5\u53e3\u8054\u8c03\uff0c\u4e5f\u5c31\u662f\u4e92\u8054\u7f51\u73b0\u5728\u6d41\u884c\u7684\u524d\u540e\u7aef\u5206\u79bb\u67b6\u6784\u3002"),(0,r.kt)("p",null,"\u6240\u4ee5\u5c31\u9700\u8981\u7531\u524d\u540e\u7aef\u5de5\u7a0b\u5e08\u5171\u540c\u5b9a\u4e49\u63a5\u53e3\uff0c\u7f16\u5199\u63a5\u53e3\u6587\u6863\uff0c\u4e4b\u540e\u5927\u5bb6\u6309\u7167\u8fd9\u4e2a\u63a5\u53e3\u6587\u6863\u8fdb\u884c\u5f00\u53d1\u3001\u7ef4\u62a4\u53ca\u5f00\u653e\u7ed9\u7b2c\u4e09\u65b9\u3002"),(0,r.kt)("h2",{id:"62-\u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863"},"6.2 \u4e3a\u4ec0\u4e48\u8981\u5199\u63a5\u53e3\u6587\u6863"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u80fd\u591f\u8ba9\u524d\u7aef\u5f00\u53d1\u4e0e\u540e\u53f0\u5f00\u53d1\u4eba\u5458\u66f4\u597d\u7684\u914d\u5408\uff0c\u63d0\u9ad8\u5de5\u4f5c\u6548\u7387"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u8fed\u4ee3\u6216\u8005\u9879\u76ee\u4eba\u5458\u66f4\u8fed\u65f6\uff0c\u65b9\u4fbf\u540e\u671f\u4eba\u5458\u67e5\u770b\u548c\u7ef4\u62a4"),(0,r.kt)("li",{parentName:"ul"},"\u65b9\u4fbf\u6d4b\u8bd5\u4eba\u5458\u8fdb\u884c\u63a5\u53e3\u6d4b\u8bd5")),(0,r.kt)("h2",{id:"63-\u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863"},"6.3 \u4e3a\u4ec0\u4e48\u9700\u8981\u89c4\u8303\u5316\u6587\u6863"),(0,r.kt)("p",null,"\u7531\u4e8e\u6bcf\u4e2a\u516c\u53f8\u540e\u7aef\u4eba\u5458\u6280\u672f\u53c2\u5dee\u4e0d\u9f50\uff0c\u6280\u672f\u6587\u6863\u80fd\u529b\u4e5f\u4e0d\u4f8b\u5916\uff0c\u5bfc\u81f4\u63a5\u53e3\u5b9a\u4e49\u53ca\u6587\u6863\u4e94\u82b1\u516b\u95e8\uff0c\u4e0d\u540c\u9879\u76ee\u6216\u4e0d\u540c\u516c\u53f8\u5bf9\u63a5\u6781\u5176\u56f0\u96be\uff0c\u800c\u4e14\u4f53\u9a8c\u7cdf\u7cd5\u3002\u6240\u4ee5\uff0c\u65e0\u89c4\u77e9\u4e0d\u6210\u65b9\u5706\uff0c\u4e3a\u4e86\u5f00\u53d1\u4eba\u5458\u95f4\u66f4\u597d\u7684\u914d\u5408\uff0c\u8feb\u5207\u9700\u8981\u6574\u7406\u51fa\u4e00\u5957\u89c4\u8303\u3002"),(0,r.kt)("p",null,"\u901a\u5e38\u63a5\u53e3\u89c4\u8303\u5206\u4e3a\u516d\u4e2a\u90e8\u5206\uff1a"),(0,r.kt)("h3",{id:"631-\u534f\u8bae\u89c4\u8303"},"6.3.1 \u534f\u8bae\u89c4\u8303"),(0,r.kt)("p",null,"\u4e3a\u4e86\u786e\u4fdd\u4e0d\u540c\u7cfb\u7edf/\u6a21\u5757\u95f4\u7684\u6570\u636e\u4ea4\u4e92\uff0c\u9700\u8981\u4e8b\u5148\u7ea6\u5b9a\u597d\u901a\u8baf\u534f\u8bae\uff0c\u5982\uff1aTCP\u3001HTTP\u3001HTTPS \u534f\u8bae\u3002\u4e3a\u4e86\u786e\u4fdd\u6570\u636e\u4ea4\u4e92\u5b89\u5168\uff0c\u5efa\u8bae\u4f7f\u7528 HTTPS \u534f\u8bae"),(0,r.kt)("h3",{id:"632-\u63a5\u53e3\u8def\u5f84\u89c4\u8303"},"6.3.2 \u63a5\u53e3\u8def\u5f84\u89c4\u8303"),(0,r.kt)("p",null,"\u4f5c\u4e3a\u63a5\u53e3\u8def\u5f84\uff0c\u4e3a\u4e86\u65b9\u4fbf\u6e05\u6670\u7684\u533a\u5206\u6765\u81ea\u4e0d\u540c\u7684\u7cfb\u7edf\uff0c\u53ef\u4ee5\u91c7\u7528\u4e0d\u540c\u7cfb\u7edf/\u6a21\u5757\u540d\u4f5c\u4e3a\u63a5\u53e3\u8def\u5f84\u524d\u7f00\uff0c\u5982\uff1a\u652f\u4ed8\u6a21\u5757\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"/pay/xxx"),"\uff0c\u8ba2\u5355\u6a21\u5757\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"/order/xxx")),(0,r.kt)("h3",{id:"633-\u7248\u672c\u63a7\u5236\u89c4\u8303"},"6.3.3 \u7248\u672c\u63a7\u5236\u89c4\u8303"),(0,r.kt)("p",null,'\u4e3a\u4e86\u4fbf\u4e8e\u540e\u671f\u63a5\u53e3\u7684\u5347\u7ea7\u548c\u7ef4\u62a4\uff0c\u5efa\u8bae\u5728\u63a5\u53e3\u8def\u5f84\u4e2d\u52a0\u5165\u7248\u672c\u53f7\uff0c\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5b9e\u73b0\u63a5\u53e3\u591a\u7248\u672c\u7684\u53ef\u7ef4\u62a4\u6027\u3002\u5982\uff1a\u63a5\u53e3\u8def\u5f84\u4e2d\u6dfb\u52a0\u7c7b\u4f3c"',(0,r.kt)("inlineCode",{parentName:"p"},"v1"),'"\u3001"',(0,r.kt)("inlineCode",{parentName:"p"},"v2"),'"\u7b49\u7248\u672c\u53f7'),(0,r.kt)("h3",{id:"634-\u63a5\u53e3\u547d\u540d\u89c4\u8303"},"6.3.4 \u63a5\u53e3\u547d\u540d\u89c4\u8303"),(0,r.kt)("p",null,'\u548c C# \u547d\u540d\u89c4\u8303\u4e00\u6837\uff0c\u597d\u7684\u3001\u7edf\u4e00\u7684\u63a5\u53e3\u547d\u540d\u89c4\u8303\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u589e\u5f3a\u5176\u53ef\u8bfb\u6027\uff0c\u800c\u4e14\u8fd8\u4f1a\u51cf\u5c11\u5f88\u591a\u4e0d\u5fc5\u8981\u7684\u53e3\u5934/\u4e66\u9762\u4e0a\u7684\u89e3\u91ca\u3002\u53ef\u4f7f\u7528"\u9a7c\u5cf0\u547d\u540d\u6cd5"\u6309\u7167\u5b9e\u73b0\u63a5\u53e3\u7684',(0,r.kt)("strong",{parentName:"p"},"\u4e1a\u52a1\u7c7b\u578b\u3001\u4e1a\u52a1\u573a\u666f"),"\u7b49\u547d\u540d\uff0c\u6709\u5fc5\u8981\u65f6\u53ef\u91c7\u53d6\u591a\u7ea7\u76ee\u5f55\u547d\u540d\uff0c\u4f46\u76ee\u5f55\u4e0d\u5b9c\u8fc7\u957f\uff0c\u4e24\u7ea7\u76ee\u5f55\u8f83\u4e3a\u9002\u5b9c"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u5e38\u89c1\u547d\u540d\u65b9\u5f0f"),":",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u63a5\u53e3\u540d\u79f0\u52a8\u8bcd\u524d/\u540e\u7f00\u5316"),"\uff1a \u63a5\u53e3\u540d\u79f0\u4ee5\u63a5\u53e3\u6570\u636e\u64cd\u4f5c\u7684\u52a8\u8bcd\u4e3a\u524d/\u540e\u7f00\uff0c\u5e38\u89c1\u52a8\u8bcd\u6709\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"Add\u3001Delete\u3001Update\u3001Query\u3001Get\u3001Send\u3001Save\u3001Detail\u3001List"),"\u7b49\uff0c\u5982\uff1a\u65b0\u5efa\u7528\u6237 ",(0,r.kt)("inlineCode",{parentName:"li"},"AddUser"),"\u3001\u67e5\u8be2\u8ba2\u5355\u8be6\u60c5 ",(0,r.kt)("inlineCode",{parentName:"li"},"QueryOrderDetail"),"\u3002"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u63a5\u53e3\u540d\u79f0\u52a8\u8bcd + \u8bf7\u6c42\u65b9\u5f0f"),"\uff1a\u63a5\u53e3\u8def\u5f84\u4e2d\u5305\u542b\u5177\u4f53\u63a5\u53e3\u540d\u79f0\u7684\u540d\u8bcd\uff0c\u63a5\u53e3\u6570\u636e\u64cd\u4f5c\u52a8\u4f5c\u4ee5 HTTP \u8bf7\u6c42\u65b9\u5f0f\u6765\u533a\u5206\u3002\u5e38\u7528\u7684 HTTP \u8bf7\u6c42\u65b9\u5f0f\u6709\uff1a",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"GET"),"\uff1a\u4ece\u670d\u52a1\u5668\u53d6\u51fa\u8d44\u6e90\uff08\u4e00\u9879\u6216\u591a\u9879\uff09"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"POST"),"\uff1a\u5728\u670d\u52a1\u5668\u65b0\u5efa\u4e00\u4e2a\u8d44\u6e90"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"PUT"),"\uff1a\u5728\u670d\u52a1\u5668\u66f4\u65b0\u8d44\u6e90\uff08\u5ba2\u6237\u7aef\u63d0\u4f9b\u6539\u53d8\u540e\u7684\u5b8c\u6574\u8d44\u6e90\uff09"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"PATCH"),"\uff1a\u5728\u670d\u52a1\u5668\u66f4\u65b0\u8d44\u6e90\uff08\u5ba2\u6237\u7aef\u63d0\u4f9b\u6539\u53d8\u7684\u5c5e\u6027\uff09"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DELETE"),"\uff1a\u4ece\u670d\u52a1\u5668\u5220\u9664\u8d44\u6e90")))))),(0,r.kt)("h3",{id:"635-\u8bf7\u6c42\u53c2\u6570\u89c4\u8303"},"6.3.5 \u8bf7\u6c42\u53c2\u6570\u89c4\u8303"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u8bf7\u6c42\u65b9\u5f0f"),"\uff1a\u6309\u7167 ",(0,r.kt)("inlineCode",{parentName:"li"},"GET\u3001POST\u3001PUT")," \u7b49\u542b\u4e49\u5b9a\u4e49\uff0c\u907f\u514d\u51fa\u73b0\u4e0d\u4e00\u81f4\u73b0\u8c61\uff0c\u5bf9\u4eba\u9020\u6210\u8bef\u89e3\u3001\u6b67\u4e49",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u8bf7\u6c42\u5934"),"\uff1a\u8bf7\u6c42\u5934\u6839\u636e\u9879\u76ee\u9700\u6c42\u6dfb\u52a0\u914d\u7f6e\u53c2\u6570\u3002\u5982\uff1a\u8bf7\u6c42\u6570\u636e\u683c\u5f0f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"accept=application/json")," \u7b49\u3002\u5982\u6709\u9700\u8981\uff0c\u8bf7\u6c42\u5934\u53ef\u6839\u636e\u9879\u76ee\u9700\u6c42\u8981\u6c42\u4f20\u5165\u7528\u6237 token\u3001\u552f\u4e00\u9a8c\u7b7e\u7801\u7b49\u52a0\u5bc6\u6570\u636e"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u8bf7\u6c42\u53c2\u6570/\u8bf7\u6c42\u4f53"),"\uff1a \u8bf7\u6c42\u53c2\u6570\u5b57\u6bb5\uff0c\u5c3d\u53ef\u80fd\u4e0e\u6570\u636e\u5e93\u8868\u5b57\u6bb5\u3001\u5bf9\u8c61\u5c5e\u6027\u540d\u7b49\u4fdd\u6301\u4e00\u81f4\uff0c\u56e0\u4e3a\u4fdd\u6301\u4e00\u81f4\u662f\u6700\u7701\u4e8b\uff0c\u6700\u8212\u670d\u7684\u4e00\u4ef6\u4e8b")))),(0,r.kt)("h3",{id:"636-\u8fd4\u56de\u6570\u636e\u89c4\u8303"},"6.3.6 \u8fd4\u56de\u6570\u636e\u89c4\u8303"),(0,r.kt)("p",null,"\u7edf\u4e00\u89c4\u8303\u8fd4\u56de\u6570\u636e\u7684\u683c\u5f0f\uff0c\u5bf9\u5df1\u5bf9\u5f7c\u90fd\u6709\u597d\u5904\uff0c\u6b64\u5904\u4ee5 json \u683c\u5f0f\u4e3a\u4f8b\u3002\u8fd4\u56de\u6570\u636e\u5e94\u5305\u542b\uff1a",(0,r.kt)("strong",{parentName:"p"},"\u8fd4\u56de\u72b6\u6001\u7801\u3001\u8fd4\u56de\u72b6\u6001\u4fe1\u606f\u3001\u5177\u4f53\u6570\u636e"),"\u3002",(0,r.kt)("strong",{parentName:"p"},"\u8fd4\u56de\u6570\u636e\u4e2d\u7684\u72b6\u6001\u7801\u3001\u72b6\u6001\u4fe1\u606f\uff0c\u5e38\u6307\u5177\u4f53\u7684\u4e1a\u52a1\u72b6\u6001\uff0c\u4e0d\u5efa\u8bae\u548c HTTP \u72b6\u6001\u7801\u6df7\u5728\u4e00\u8d77"),"\u3002HTTP \u72b6\u6001\uff0c\u662f\u7528\u6765\u4f53\u73b0 HTTP \u94fe\u8def\u72b6\u6001\u60c5\u51b5\uff0c\u5982\uff1a404-Not Found\u3002HTTP \u72b6\u6001\u7801\u548c json \u7ed3\u679c\u4e2d\u7684\u72b6\u6001\u7801\uff0c\u5e76\u5b58\u5c1a\u53ef\uff0c\u7528\u4e8e\u4f53\u73b0\u4e0d\u540c\u7ef4\u5ea6\u7684\u72b6\u6001\u3002"),(0,r.kt)("h2",{id:"64-\u4ec0\u4e48\u662f-swagger"},"6.4 \u4ec0\u4e48\u662f Swagger"),(0,r.kt)("p",null,"\u76f8\u4fe1\u65e0\u8bba\u662f\u524d\u7aef\u8fd8\u662f\u540e\u7aef\u5f00\u53d1\uff0c\u90fd\u6216\u591a\u6216\u5c11\u5730\u88ab\u63a5\u53e3\u6587\u6863\u6298\u78e8\u8fc7\u3002\u524d\u7aef\u7ecf\u5e38\u62b1\u6028\u540e\u7aef\u7ed9\u7684\u63a5\u53e3\u6587\u6863\u4e0e\u5b9e\u9645\u60c5\u51b5\u4e0d\u4e00\u81f4\u3002\u540e\u7aef\u53c8\u89c9\u5f97\u7f16\u5199\u53ca\u7ef4\u62a4\u63a5\u53e3\u6587\u6863\u4f1a\u8017\u8d39\u4e0d\u5c11\u7cbe\u529b\uff0c\u7ecf\u5e38\u6765\u4e0d\u53ca\u66f4\u65b0\u3002"),(0,r.kt)("p",null,"\u5176\u5b9e\u65e0\u8bba\u662f\u524d\u7aef\u8c03\u7528\u540e\u7aef\uff0c\u8fd8\u662f\u540e\u7aef\u8c03\u7528\u540e\u7aef\uff0c\u90fd\u671f\u671b\u6709\u4e00\u4e2a\u597d\u7684\u63a5\u53e3\u6587\u6863\u3002\u4f46\u662f\u8fd9\u4e2a\u63a5\u53e3\u6587\u6863\u5bf9\u4e8e\u7a0b\u5e8f\u5458\u6765\u8bf4\uff0c\u5c31\u8ddf\u6ce8\u91ca\u4e00\u6837\uff0c\u7ecf\u5e38\u4f1a\u62b1\u6028\u522b\u4eba\u5199\u7684\u4ee3\u7801\u6ca1\u6709\u5199\u6ce8\u91ca\uff0c\u7136\u800c\u81ea\u5df1\u5199\u8d77\u4ee3\u7801\u8d77\u6765\uff0c\u6700\u8ba8\u538c\u7684\uff0c\u4e5f\u662f\u5199\u6ce8\u91ca\u3002\u6240\u4ee5\u4ec5\u4ec5\u53ea\u901a\u8fc7\u5f3a\u5236\u6765\u89c4\u8303\u5927\u5bb6\u662f\u4e0d\u591f\u7684\uff0c\u968f\u7740\u65f6\u95f4\u63a8\u79fb\uff0c\u7248\u672c\u8fed\u4ee3\uff0c\u63a5\u53e3\u6587\u6863\u5f80\u5f80\u5f88\u5bb9\u6613\u5c31\u8ddf\u4e0d\u4e0a\u4ee3\u7801\u4e86\u3002"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u53d1\u73b0\u4e86\u75db\u70b9\u5c31\u8981\u53bb\u627e\u89e3\u51b3\u65b9\u6848\u3002\u89e3\u51b3\u65b9\u6848\u7528\u7684\u4eba\u591a\u4e86\uff0c\u5c31\u6210\u4e86\u6807\u51c6\u7684\u89c4\u8303\uff0c\u8fd9\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u7684\u7531\u6765"),"\u3002"),(0,r.kt)("p",null,"\u901a\u8fc7\u8fd9\u5957\u89c4\u8303\uff0c\u4f60\u53ea\u9700\u8981\u6309\u7167\u5b83\u7684\u89c4\u8303\u53bb\u5b9a\u4e49\u63a5\u53e3\u53ca\u63a5\u53e3\u76f8\u5173\u7684\u4fe1\u606f\u3002\u518d\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u884d\u751f\u51fa\u6765\u7684\u4e00\u7cfb\u5217\u9879\u76ee\u548c\u5de5\u5177\uff0c\u5c31\u53ef\u4ee5\u505a\u5230\u751f\u6210\u5404\u79cd\u683c\u5f0f\u7684\u63a5\u53e3\u6587\u6863\uff0c\u751f\u6210\u591a\u79cd\u8bed\u8a00\u7684\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\u7684\u4ee3\u7801\uff0c\u4ee5\u53ca\u5728\u7ebf\u63a5\u53e3\u8c03\u8bd5\u9875\u9762\u7b49\u7b49\u3002"),(0,r.kt)("p",null,"\u8fd9\u6837\uff0c\u5982\u679c\u6309\u7167\u65b0\u7684\u5f00\u53d1\u6a21\u5f0f\uff0c\u5728\u5f00\u53d1\u65b0\u7248\u672c\u6216\u8005\u8fed\u4ee3\u7248\u672c\u7684\u65f6\u5019\uff0c\u53ea\u9700\u8981\u66f4\u65b0 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u63cf\u8ff0\u6587\u4ef6\uff0c\u5c31\u53ef\u4ee5\u81ea\u52a8\u751f\u6210\u63a5\u53e3\u6587\u6863\u548c\u5ba2\u6237\u7aef\u670d\u52a1\u7aef\u4ee3\u7801\uff0c\u505a\u5230\u8c03\u7528\u7aef\u4ee3\u7801\u3001\u670d\u52a1\u7aef\u4ee3\u7801\u4ee5\u53ca\u63a5\u53e3\u6587\u6863\u7684\u4e00\u81f4\u6027\u3002"),(0,r.kt)("p",null,"\u6240\u4ee5\uff0cSwagger \u662f\u4e00\u4e2a\u89c4\u8303\u548c\u5b8c\u6574\u7684\u6846\u67b6\uff0c\u7528\u4e8e\u751f\u6210\u3001\u63cf\u8ff0\u3001\u8c03\u7528\u548c\u53ef\u89c6\u5316",(0,r.kt)("inlineCode",{parentName:"p"},"RESTful")," \u98ce\u683c\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Web")," \u670d\u52a1\u3002"),(0,r.kt)("p",null,"\u603b\u4f53\u76ee\u6807\u662f\u4f7f\u5ba2\u6237\u7aef\u548c\u6587\u4ef6\u7cfb\u7edf\u4f5c\u4e3a\u670d\u52a1\u5668\u4ee5\u540c\u6837\u7684\u901f\u5ea6\u6765\u66f4\u65b0\u3002\u6587\u4ef6\u7684\u65b9\u6cd5\u3001\u53c2\u6570\u548c\u6a21\u578b\u7d27\u5bc6\u96c6\u6210\u5230\u670d\u52a1\u5668\u7aef\u7684\u4ee3\u7801\uff0c\u5141\u8bb8 API \u6765\u59cb\u7ec8\u4fdd\u6301\u540c\u6b65\u3002",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u8ba9\u90e8\u7f72\u7ba1\u7406\u548c\u4f7f\u7528\u529f\u80fd\u5f3a\u5927\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"API")," \u4ece\u672a\u5982\u6b64\u7b80\u5355\u3002"),(0,r.kt)("h2",{id:"65-swagger-\u4f7f\u7528"},"6.5 Swagger \u4f7f\u7528"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b\u4e86\u975e\u5e38\u65b9\u4fbf\u4e14\u7075\u6d3b\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u914d\u7f6e\uff0c\u65e0\u9700\u589e\u52a0\u989d\u5916\u5b66\u4e60\u6210\u672c\u3002"),(0,r.kt)("h3",{id:"651-\u6ce8\u518c\u670d\u52a1"},"6.5.1 \u6ce8\u518c\u670d\u52a1"),(0,r.kt)("admonition",{title:"\u5907\u6ce8",type:"important"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},".UseInject()")," \u5df2\u7ecf\u5305\u542b\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},".UseSpecificationDocuments()")," \u6ce8\u518c\uff0c\u65e0\u9700\u518d\u6b21\u6ce8\u518c\u3002")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:'showLineNumbers {11,21} title="Furion.Web.Core\\FurWebCoreStartup.cs"',showLineNumbers:!0,"":!0,"{11,21}":!0,title:'"Furion.Web.Core\\FurWebCoreStartup.cs"'},"using Microsoft.AspNetCore.Builder;\nusing Microsoft.AspNetCore.Hosting;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.Hosting;\n\nnamespace Furion.Web.Core\n{\n [AppStartup(800)]\n public sealed class FurWebCoreStartup : AppStartup\n {\n public void ConfigureServices(IServiceCollection services)\n {\n services.AddSpecificationDocuments();\n services.AddControllers();\n }\n\n public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n // Other Codes\n\n app.UseSpecificationDocuments();\n\n app.UseEndpoints(endpoints =>\n {\n endpoints.MapControllers();\n });\n }\n }\n}\n")),(0,r.kt)("admonition",{title:"\u5c0f\u77e5\u8bc6",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"services.AddSpecificationDocuments()")," \u901a\u5e38\u548c ",(0,r.kt)("inlineCode",{parentName:"p"},".AddDynamicApiControllers()")," \u6210\u5bf9\u51fa\u73b0\u3002")),(0,r.kt)("h3",{id:"652-\u9ed8\u8ba4\u5730\u5740"},"6.5.2 \u9ed8\u8ba4\u5730\u5740"),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"p"},"\u89c4\u8303\u5316\u6587\u6863")," \u5730\u5740\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"/api")," \u76ee\u5f55\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u652f\u6301\u81ea\u5b9a\u4e49\u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger1.png")}),(0,r.kt)("p",null,"\u53ef\u4ee5\u901a\u8fc7\u4e24\u79cd\u65b9\u5f0f\u914d\u7f6e\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},'app.UseInject("\u8def\u7531")')," \u65b9\u5f0f\uff0c\u5982")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'app.UseInject("testapi"); // \u90a3\u4e48 /testapi \u5c31\u662f\u89c4\u8303\u5316\u5730\u5740\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e"),"\uff1a")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"":!0,"{3}":!0},'{\n "SpecificationDocumentSettings": {\n "RoutePrefix": "testapi"\n }\n}\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u914d\u7f6e\u6587\u4ef6\u4f18\u5148\u7ea7\u5927\u4e8e ",(0,r.kt)("inlineCode",{parentName:"strong"},"UseInject()")," \u65b9\u5f0f")),(0,r.kt)("h3",{id:"653-\u9ed8\u8ba4\u5206\u7ec4"},"6.5.3 \u9ed8\u8ba4\u5206\u7ec4"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\u9ed8\u8ba4\u5206\u7ec4\u540d\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"Default"),"\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u652f\u6301\u81ea\u5b9a\u4e49\u914d\u7f6e"),"\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"":!0,"{3}":!0},'{\n "SpecificationDocumentSettings": {\n "DefaultGroupName": "MyGroup"\n }\n}\n')),(0,r.kt)("h3",{id:"654-\u6587\u6863\u6ce8\u91ca"},"6.5.4 \u6587\u6863\u6ce8\u91ca"),(0,r.kt)("p",null,"\u89c4\u8303\u5316\u6587\u6863\u9ed8\u8ba4\u626b\u63cf ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion.Application"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion.Web.Core"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion.Web.Entry")," \u4e09\u4e2a\u7a0b\u5e8f\u96c6",(0,r.kt)("inlineCode",{parentName:"p"},".xml")," \u6ce8\u91ca\u6587\u4ef6\uff0c",(0,r.kt)("strong",{parentName:"p"},"\u652f\u6301\u81ea\u5b9a\u4e49\u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,"\u53ea\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"///")," \u6807\u8bc6\u7684\u6ce8\u91ca\u8bed\u6cd5\uff0c\u5982\uff1a",(0,r.kt)("strong",{parentName:"p"},"\u7c7b\u3001\u65b9\u6cd5\u3001\u5c5e\u6027\u3001\u53c2\u6570\u3001\u8fd4\u56de\u503c\u3001\u9a8c\u8bc1\u7279\u6027"),"\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5-7,10-13,19-23}",showLineNumbers:!0,"":!0,"{5-7,10-13,19-23}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n /// \n /// \u7c7b\u6ce8\u91ca\n /// \n public class FurionAppService : IDynamicApiController\n {\n /// \n /// \u65b9\u6cd5\u6ce8\u91ca\n /// \n /// \n public string Get()\n {\n return nameof(Furion);\n }\n\n /// \n /// \u5e26 ID \u53c2\u6570\u7684\u65b9\u6cd5\u6ce8\u91ca\n /// \n /// \n /// \n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger2.png")}),(0,r.kt)("admonition",{title:"\u5c0f\u63d0\u793a",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u5982\u679c\u6587\u6863\u6ce8\u91ca\u6ca1\u6709\u663e\u793a\uff0c\u8bf7\u68c0\u67e5\u9879\u76ee ",(0,r.kt)("inlineCode",{parentName:"p"},"\u5c5e\u6027->\u751f\u6210->\u8f93\u51fa")," \u4e2d XML \u6587\u6863\u662f\u5426\u914d\u7f6e\u8f93\u51fa\u8def\u5f84\u3002",(0,r.kt)("strong",{parentName:"p"},"\u6ce8\u610f\uff1a\u53ea\u6709\u4e0d\u5e26\u8def\u5f84\u7684 \u3010\u9879\u76ee\u540d\u79f0.xml\u3011 \u624d\u4f1a\u81ea\u52a8\u52a0\u8f7d\u3002"))),(0,r.kt)("admonition",{title:"\u7279\u522b\u8bf4\u660e",type:"info"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"Debug")," \u6a21\u5f0f\u4e0b\u548c ",(0,r.kt)("inlineCode",{parentName:"p"},"Release")," \u6a21\u5f0f\u4e0b\u7684\u6ce8\u91ca\u6587\u4ef6\u662f\u4e0d\u901a\u7528\u7684\uff0c\u6240\u4ee5\u5bfc\u81f4\u5f88\u591a\u5f00\u53d1\u8005\u53d1\u5e03\u5230\u670d\u52a1\u5668\u4e0a\u53d1\u73b0\u6ca1\u6709\u663e\u793a\u6ce8\u91ca\u3002\u6211\u4eec\u53ea\u9700\u8981\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Visual Studio")," \u4e2d\u5207\u6362 ",(0,r.kt)("inlineCode",{parentName:"p"},"Debug")," \u6a21\u5f0f\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"Release"),"\uff0c\u7136\u540e\u91cd\u65b0\u914d\u7f6e\u4e00\u6b21\u5373\u53ef\u3002"),(0,r.kt)("p",{parentName:"admonition"},"\u8fd9\u6837\u4e0d\u7ba1\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Debug")," \u8fd8\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Release")," \u6a21\u5f0f\u90fd\u4f1a\u663e\u793a\u6ce8\u91ca\u4e86\u3002")),(0,r.kt)("h3",{id:"655-\u591a\u5206\u7ec4\u652f\u6301"},"6.5.5 \u591a\u5206\u7ec4\u652f\u6301"),(0,r.kt)("p",null,"\u591a\u5206\u7ec4\u662f\u4e00\u4e2a\u7cfb\u7edf\u4e2d\u5fc5\u5907\u529f\u80fd\uff0c\u6211\u4eec\u53ef\u4ee5\u5c06\u7cfb\u7edf\u5212\u5206\u4e3a\u591a\u4e2a\u6a21\u5757\uff0c\u6bcf\u4e2a\u6a21\u5757\u90fd\u72ec\u7acb\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"api")," \u914d\u7f6e\u3002\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\uff0c\u5b9e\u73b0\u591a\u5206\u7ec4\u975e\u5e38\u7b80\u5355\u3002\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,21,32}",showLineNumbers:!0,"":!0,"{5,21,32}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings("Group1")]\n public class FurionAppService : IDynamicApiController\n {\n /// \n /// \u968f\u7236\u7c7b Group1 \u5206\u7ec4\n /// \n /// \n public string Post()\n {\n return nameof(Furion);\n }\n\n /// \n /// \u5728 Group1\u3001Group3 \u90fd\u6709\u6211\n /// \n /// \n [ApiDescriptionSettings("Group1", "Group3")]\n public string Get()\n {\n return nameof(Furion);\n }\n\n /// \n /// \u6211\u53ea\u5728 Group2 \u51fa\u73b0\n /// \n /// \n /// \n [ApiDescriptionSettings("Group2")]\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger3.gif")}),(0,r.kt)("h3",{id:"656-\u591a\u5206\u7ec4\u6392\u5e8f"},"6.5.6 \u591a\u5206\u7ec4\u6392\u5e8f"),(0,r.kt)(o.Z,{defaultValue:"fz1",values:[{label:"\u65b9\u5f0f\u4e00",value:"fz1"},{label:"\u65b9\u5f0f\u4e8c",value:"fz2"}],mdxType:"Tabs"},(0,r.kt)(p.Z,{value:"fz1",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u901a\u8fc7\u5206\u7ec4\u540d\u79f0\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"strong"},"@\u6574\u6570")," \u8fdb\u884c\u6392\u5e8f")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,19}",showLineNumbers:!0,"":!0,"{5,19}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings("Group1@1")]\n public class FurionAppService : IDynamicApiController\n {\n public string Post()\n {\n return nameof(Furion);\n }\n\n [ApiDescriptionSettings("Group1", "Group3")]\n public string Get()\n {\n return nameof(Furion);\n }\n\n [ApiDescriptionSettings("Group@2")]\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u53ef\u4ee5\u901a\u8fc7\u5728\u5206\u7ec4\u540d\u540e\u9762\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"@\u6574\u6570")," \u8fdb\u884c\u6392\u5e8f\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"\u6574\u6570")," \u8d8a\u5927\u6392\u524d\u9762\u3002\u5982\u679c\u5206\u7ec4\u540d\u79f0\u591a\u6b21\u6307\u5b9a\u4e14\u591a\u6b21\u6307\u5b9a\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"@\u6574\u6570")," \uff0c\u5219\u81ea\u52a8",(0,r.kt)("strong",{parentName:"p"},"\u53d6\u8be5\u5206\u7ec4\u6700\u5927\u7684\u6574\u6570"),"\u8fdb\u884c\u6392\u5e8f\u3002")),(0,r.kt)(p.Z,{value:"fz2",mdxType:"TabItem"},(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u901a\u8fc7\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e\u6392\u5e8f")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {2-17} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{2-17}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Order": 1\n },\n {\n "Group": "Group2",\n "Order": 2\n },\n {\n "Group": "Group3",\n "Order": 0\n }\n ]\n }\n}\n')))),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger4.png")}),(0,r.kt)("admonition",{title:"\u6392\u5e8f\u8bf4\u660e",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5206\u7ec4\u9ed8\u8ba4\u6392\u5e8f ",(0,r.kt)("inlineCode",{parentName:"p"},"Order")," \u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"0"),"\u3002\u5982\u679c\u540c\u65f6\u914d\u7f6e\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"@\u6574\u6570")," \u548c ",(0,r.kt)("inlineCode",{parentName:"p"},"appsettings.json")," \u914d\u7f6e\u6587\u4ef6\uff0c\u90a3\u4e48\u4f18\u5148\u91c7\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"appsettings.json")," \u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Order"))),(0,r.kt)("h3",{id:"657-\u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e"},"6.5.7 \u591a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b\u4e86\u53ef\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"appsetting.json")," \u914d\u7f6e\u5206\u7ec4\u4fe1\u606f\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {3-20} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{3-20}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Title": "\u5206\u7ec4\u6807\u9898",\n "Description": "\u8fd9\u91cc\u662f\u5206\u7ec4\u63cf\u8ff0",\n "Version": "\u7248\u672c\u53f7",\n "TermsOfService": "https://furion.icu",\n "Contact": {\n "Name": "\u767e\u5c0f\u50e7",\n "Url": "https://gitee.com/monksoul",\n "Email": "monksoul@outlook.com"\n },\n "License": {\n "Name": "MIT",\n "Url": "https://gitee.com/dotnetchina/Furion/blob/alpha/LICENSE"\n }\n }\n ]\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger5.png")}),(0,r.kt)("h3",{id:"658-\u7ec4\u4e2d\u7ec4\u6807\u7b7e"},"6.5.8 \u7ec4\u4e2d\u7ec4\uff08\u6807\u7b7e\uff09"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Tag")," \u914d\u7f6e\u4e3b\u8981\u7528\u4e8e\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u6807\u7b7e\u5206\u7ec4\u4fe1\u606f\u53ca\u5408\u5e76\u6807\u7b7e\u3002\u4e5f\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"\u7ec4\u4e2d\u7ec4"),":"),(0,r.kt)(o.Z,{defaultValue:"tag1",values:[{label:"\u6807\u7b7e\u547d\u540d",value:"tag1"},{label:"\u5408\u5e76\u6807\u7b7e",value:"tag2"}],mdxType:"Tabs"},(0,r.kt)(p.Z,{value:"tag1",mdxType:"TabItem"},(0,r.kt)("h4",{id:"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d"},"\u672a\u8d34\u6807\u7b7e\u4e4b\u524d"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n public class FurionAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n\n public class TestAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n}\n")),(0,r.kt)("h4",{id:"\u8d34\u6807\u7b7e\u4e4b\u540e"},"\u8d34\u6807\u7b7e\u4e4b\u540e"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,19}",showLineNumbers:!0,"":!0,"{5,19}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings(Tag = "\u5206\u7ec4\u4e00")]\n public class FurionAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n\n [ApiDescriptionSettings(Tag = "\u5206\u7ec4\u4e8c")]\n public class TestAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/tag1.png")})),(0,r.kt)(p.Z,{value:"tag2",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,19}",showLineNumbers:!0,"":!0,"{5,19}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n [ApiDescriptionSettings(Tag = "\u5408\u5e76\u6240\u6709\u6807\u7b7e")]\n public class FurionAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n\n [ApiDescriptionSettings(Tag = "\u5408\u5e76\u6240\u6709\u6807\u7b7e")]\n public class TestAppService : IDynamicApiController\n {\n public string Get()\n {\n return nameof(Furion);\n }\n\n public int Get(int id)\n {\n return id;\n }\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/tag2.png")}))),(0,r.kt)("admonition",{title:"\u5c0f\u77e5\u8bc6",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5982\u679c ",(0,r.kt)("inlineCode",{parentName:"p"},"Tag")," \u540d\u5b57\u4e00\u6837\uff0c\u5219\u4f1a\u81ea\u52a8\u5408\u5e76\uff0c\u5426\u5219\u53ea\u662f\u547d\u540d\u3002")),(0,r.kt)("h3",{id:"659-\u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863"},"6.5.9 \u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6587\u6863"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {2-4} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{2-4}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "DocExpansionState": "Full"\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger6.gif")}),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"DocExpansionState")," \u914d\u7f6e\u8bf4\u660e\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"List"),"\uff1a\u5217\u8868\u5f0f\uff08\u5c55\u5f00\u5b50\u7c7b\uff09\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u9ed8\u8ba4\u503c")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Full"),"\uff1a\u5b8c\u5168\u5c55\u5f00"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"None"),"\uff1a\u5217\u8868\u5f0f\uff08\u4e0d\u5c55\u5f00\u5b50\u7c7b\uff09")),(0,r.kt)("h3",{id:"6510-\u914d\u7f6e\u6587\u6863\u6807\u9898"},"6.5.10 \u914d\u7f6e\u6587\u6863\u6807\u9898"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers {2-4} title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,"{2-4}":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "DocumentTitle": "\u6211\u662f\u81ea\u5b9a\u4e49\u6807\u9898"\n }\n}\n')),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger7.png")}),(0,r.kt)("h3",{id:"6511-\u6388\u6743\u63a7\u5236"},"6.5.11 \u6388\u6743\u63a7\u5236"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u65b0\u7248\u672c ",(0,r.kt)("inlineCode",{parentName:"strong"},"Furion")," \u5df2\u7ecf\u9ed8\u8ba4\u542f\u7528\u4e86 Bearer Token \u6388\u6743\u914d\u7f6e\uff0c\u65e0\u9700\u624b\u52a8\u914d\u7f6e"),"\uff0c\u5982\u9700\u624b\u52a8\u914d\u7f6e\uff0c\u53ef\u624b\u52a8\u6dfb\u52a0\u4ee5\u4e0b\u7c7b\u4f3c\u914d\u7f6e\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers title="Furion.Web.Entry/appsettings.json"',showLineNumbers:!0,"":!0,title:'"Furion.Web.Entry/appsettings.json"'},'{\n "SpecificationDocumentSettings": {\n "EnableAuthorized": true,\n\n "SecurityDefinitions": [\n {\n "Id": "Bearer",\n "Type": "Http",\n "Name": "Authorization",\n "Description": "JWT Authorization header using the Bearer scheme.",\n "BearerFormat": "JWT",\n "Scheme": "bearer",\n "In": "Header",\n\n "Requirement": {\n "Scheme": {\n "Reference": {\n "Id": "Bearer",\n "Type": "SecurityScheme"\n },\n "Accesses": []\n }\n }\n }\n ]\n }\n}\n')),(0,r.kt)("h3",{id:"6512-\u5728\u7ebf\u6d4b\u8bd5"},"6.5.12 \u5728\u7ebf\u6d4b\u8bd5"),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swagger8.gif")}),(0,r.kt)("h3",{id:"6513-\u6027\u80fd\u76d1\u89c6-miniprofiler"},"6.5.13 \u6027\u80fd\u76d1\u89c6 ",(0,r.kt)("inlineCode",{parentName:"h3"},"MiniProfiler")),(0,r.kt)("p",null,"\u89c4\u8303\u5316\u6587\u6863\u9ed8\u8ba4\u96c6\u6210\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"MiniProfiler")," \u7b2c\u4e09\u65b9\u6027\u80fd\u7ec4\u4ef6\uff0c\u901a\u8fc7\u8be5\u7ec4\u4ef6\u53ef\u4ee5\u65b9\u4fbf\u67e5\u770b\u8bf7\u6c42\u6027\u80fd\u3001\u5f02\u5e38\u5806\u6808\u3001\u6570\u636e\u5e93\u64cd\u4f5c\u7b49\u4fe1\u606f\u3002\u9ed8\u8ba4\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u9996\u9875\u5de6\u4e0a\u89d2\u663e\u793a\u3002"),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/mipr.png")}),(0,r.kt)("admonition",{title:"\u5c0f\u63d0\u793a",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u4e5f\u53ef\u4ee5\u901a\u8fc7 ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"appsetting.json"))," \u4e2d ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"AppSettings:InjectMiniProfiler"))," \u8bbe\u4e3a ",(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"false"))," \u5173\u95ed\u3002")),(0,r.kt)("h3",{id:"6514-\u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b"},"6.5.14 \u5b9a\u4e49\u63a5\u53e3\u8f93\u51fa\u7c7b\u578b"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2,8-9}",showLineNumbers:!0,"":!0,"{2,8-9}":!0},"using Furion.DynamicApiController;\nusing Microsoft.AspNetCore.Mvc;\n\nnamespace Furion.Application\n{\n public class FurionAppService : IDynamicApiController\n {\n [ProducesResponseType(201, Type = typeof(TestDto))]\n [ProducesResponseType(400)]\n public string Get()\n {\n return nameof(Furion);\n }\n }\n}\n")),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/fhzlx.png")}),(0,r.kt)("h3",{id:"6515-\u9690\u85cf\u7279\u5b9a\u5206\u7ec4"},"6.5.15 \u9690\u85cf\u7279\u5b9a\u5206\u7ec4"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u65b0\u7248\u672c\u63d0\u4f9b\u4e86\u9690\u85cf\u5206\u7ec4\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Visible")," \u914d\u7f6e\uff0c\u8bbe\u7f6e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"false")," \u4e4b\u540e\u8be5\u5206\u7ec4\u5c06\u4e0d\u663e\u793a\u5728\u89c4\u8303\u5316\u6587\u6863\u4e2d\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers title="appsetting.json"',showLineNumbers:!0,"":!0,title:'"appsetting.json"'},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Visible": false\n }\n ]\n }\n}\n')),(0,r.kt)("h3",{id:"6516-\u4e2d\u6587\u4e71\u7801\u95ee\u9898"},"6.5.16 \u4e2d\u6587\u4e71\u7801\u95ee\u9898"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b,",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u6587\u4ef6\u5e76\u672a\u91c7\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"utf-8")," \u7f16\u7801\uff0c\u6240\u4ee5\u5982\u679c\u914d\u7f6e\u4e2d\u6587\u5206\u7ec4\u4fe1\u606f\u5c31\u4f1a\u51fa\u73b0\u4e71\u7801\u60c5\u51b5\uff0c\u8fd9\u65f6\u5019\uff0c\u53ea\u9700\u8981\u4fee\u6539 ",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u6587\u4ef6\u7f16\u7801\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"utf-8")," \u5373\u53ef\u3002"),(0,r.kt)("h3",{id:"6517-\u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed-swagger"},"6.5.17 \u751f\u4ea7\u73af\u5883\u4e2d\u5173\u95ed ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")),(0,r.kt)("p",null,"\u5982\u679c\u4e0d\u9700\u8981\u7ebf\u4e0a\u73af\u5883\u5f00\u542f ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u529f\u80fd\uff0c\u53ea\u9700\u8981\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"appsetting.json")," \u914d\u7f6e\u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {3}",showLineNumbers:!0,"":!0,"{3}":!0},'{\n "AppSettings": {\n "InjectSpecificationDocument": false\n }\n}\n')),(0,r.kt)("h3",{id:"6518-\u8bbe\u7f6e-example-value-\u9ed8\u8ba4\u503c"},"6.5.18 \u8bbe\u7f6e ",(0,r.kt)("inlineCode",{parentName:"h3"},"Example Value")," \u9ed8\u8ba4\u503c"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4f1a\u81ea\u52a8\u6839\u636e\u5bf9\u8c61\u7c7b\u578b\u8f93\u5165\u53c2\u6570\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"Example Value")," \u9ed8\u8ba4\u503c\uff0c\u4f46\u662f\u8be5\u9ed8\u8ba4\u503c\u901a\u5e38\u662f\u5bf9\u8c61\u5c5e\u6027\u7684\u7c7b\u578b\u5b57\u7b26\u4e32\u6216\u7f3a\u7701\u503c\uff0c\u5982\u679c\u6211\u4eec\u9700\u8981\u81ea\u5b9a\u4e49\u8fd9\u4e9b\u9ed8\u8ba4\u503c\uff0c\u53ea\u9700\u8981\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"/// \u9ed8\u8ba4\u503c")," \u6ce8\u91ca\u5373\u53ef\u3002"),(0,r.kt)("p",null,"\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4}",showLineNumbers:!0,"":!0,"{4}":!0},"/// \n/// \u5e74\u9f84\n/// \n/// 13\n[Required, Range(10, 110)]\npublic int Age { get; set; }\n")),(0,r.kt)("p",null,"\u5982\u4e0b\u56fe\u6240\u793a\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/sd20.png")}),(0,r.kt)("p",null,"\u66f4\u591a\u7c7b\u578b\u9ed8\u8ba4\u503c\u8bbe\u7f6e\u793a\u4f8b\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// foobar")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"number")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// 123")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"null")," \u7c7b\u578b\uff1a ",(0,r.kt)("inlineCode",{parentName:"li"},"/// null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"array")," \u7c7b\u578b\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"/// [ 1, 2, 3 ]"))),(0,r.kt)("admonition",{type:"important"},(0,r.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"\u5173\u4e8e ",(0,r.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"object")," \u7c7b\u578b\u8f93\u5165\u53c2\u6570"),(0,r.kt)("p",{parentName:"admonition"},"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Example Value")," \u4e0d\u4f1a\u663e\u793a ",(0,r.kt)("inlineCode",{parentName:"p"},"object")," \u7c7b\u578b\u7684\u5bf9\u8c61\u5c5e\u6027\uff0c\u56e0\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u8ba4\u4e3a\u8fd9\u662f\u4e0d\u5408\u7406\u7684\u5b9a\u4e49\u3002\u5982\u679c\u9700\u8981\u5f3a\u5236\u663e\u793a\uff0c\u53ea\u9700\u8981\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},'/// "object"')," \u6ce8\u91ca\u5373\u53ef\u3002")),(0,r.kt)("h3",{id:"6519-\u81ea\u5b9a\u4e49-swagger-\u914d\u7f6e"},"6.5.19 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u914d\u7f6e"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u9664\u4e86\u5185\u7f6e\u4e86\u4e0d\u5c11\u914d\u7f6e\u4ee5\u5916\uff0c\u8fd8\u63d0\u4f9b\u4e86\u76f4\u63a5\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," Api \u7684\u53c2\u6570\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5}",showLineNumbers:!0,"{5}":!0},"public void ConfigureServices(IServiceCollection services)\n{\n services.AddInject(options =>\n {\n options.ConfigureSwaggerGen(gen =>\n {\n // ....\n });\n });\n}\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {6,11}",showLineNumbers:!0,"{6,11}":!0}," public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n {\n // \u5982\u679c\u4f7f\u7528 Furion 4.4.8+ \u7248\u672c\u53ef\u4ee5 app.UseInject(options => {}) \u4e86\uff0c\u65e0\u9700\u6307\u5b9a configure:\n app.UseInject(configure: options =>\n {\n options.ConfigureSwagger(swg =>\n {\n // ....\n });\n\n options.ConfigureSwaggerUI(ui =>\n {\n // ....\n });\n });\n}\n\n")),(0,r.kt)("h3",{id:"6520-\u914d\u7f6e-swagger\u7684-schemes"},"6.5.20 \u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger"),"\u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Schemes")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u9ed8\u8ba4\u53ea\u663e\u793a\u540d\u79f0\uff0c\u5982\u679c\u9700\u8981\u81ea\u5b9a\u4e49\u663e\u793a\u89c4\u5219\uff0c\u53ea\u9700\u8981\u6dfb\u52a0\u914d\u7f6e\u5373\u53ef\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,6}",showLineNumbers:!0,"{4,6}":!0},"services.AddControllersWithViews()\n .AddInject(options =>\n {\n options.ConfigureSwaggerGen(gen =>\n {\n gen.CustomSchemaIds(x => x.FullName);\n });\n });\n")),(0,r.kt)("h3",{id:"6521-\u81ea\u5b9a\u4e49-swaggerjson-\u8def\u7531\u6a21\u677f"},"6.5.21 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"swagger.json")," \u8def\u7531\u6a21\u677f"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4f1a\u751f\u6210\u7edf\u4e00\u7684\u5206\u7ec4\u6a21\u677f\uff0c\u5982\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"swagger/{documentName}/swagger.json"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"{documentName}")," \u4f1a\u5728\u8fd0\u884c\u65f6\u66ff\u6362\u4e3a\u5206\u7ec4\u540d\uff0c\u5982\u9700\u81ea\u5b9a\u4e49\uff0c\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"RouteTemplate")," \u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:'showLineNumbers title="appsetting.json"',showLineNumbers:!0,"":!0,title:'"appsetting.json"'},'{\n "SpecificationDocumentSettings": {\n "RouteTemplate": "myapp/{documentName}/xxxx.json"\n }\n}\n')),(0,r.kt)("h3",{id:"6522-\u5173\u4e8e-applicationx-www-form-urlencoded-\u8bf7\u6c42"},"6.5.22 \u5173\u4e8e ",(0,r.kt)("inlineCode",{parentName:"h3"},"application/x-www-form-urlencoded")," \u8bf7\u6c42"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u5e76\u672a\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"application/x-www-form-urlencoded")," \u652f\u6301\uff0c\u5982\u9700\u542f\u7528\u8be5\u914d\u7f6e\uff0c\u53ea\u9700\u5728\u65b9\u6cd5\u9876\u90e8\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[Consumes]")," \u7279\u6027\u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,2}",showLineNumbers:!0,"":!0,"{1,2}":!0},'[Consumes("application/x-www-form-urlencoded")]\npublic async Task Test([FromForm] TestRequest testRequest)\n{\n // ....\n}\n\npublic class TestRequest\n{\n public string TestValue { get; set; }\n}\n')),(0,r.kt)("admonition",{title:"\u7279\u522b\u6ce8\u610f",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u53c2\u6570\u5fc5\u987b\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[FromForm]")," \u7279\u6027\u3002\u53e6\u5916\u8bf7\u6c42\u65f6\u5c06\u53c2\u6570\u6309 ",(0,r.kt)("inlineCode",{parentName:"p"},"URL")," \u5730\u5740\u62fc\u63a5\u5e76\u653e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Body")," \u4e2d\u8bf7\u6c42\u3002")),(0,r.kt)("h3",{id:"6523-swagger-\u51fa\u73b0-cors-\u95ee\u9898\u89e3\u51b3"},"6.5.23 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u51fa\u73b0 ",(0,r.kt)("inlineCode",{parentName:"h3"},"CORS")," \u95ee\u9898\u89e3\u51b3"),(0,r.kt)("p",null,"\u5982\u679c ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u51fa\u73b0\u4ee5\u4e0b\u9519\u8bef\uff0c\u5982\u56fe\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/swerror.png")}),(0,r.kt)("p",null,"\u5219\u9700\u8981\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2,3}",showLineNumbers:!0,"":!0,"{2,3}":!0},'{\n "SpecificationDocumentSettings": {\n "HideServers": true\n }\n}\n')),(0,r.kt)("h3",{id:"6524-swagger-\u51fa\u73b0\u9ed8\u8ba4-xml-\u53c2\u6570\u95ee\u9898\u89e3\u51b3"},"6.5.24 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u51fa\u73b0\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"h3"},"xml")," \u53c2\u6570\u95ee\u9898\u89e3\u51b3"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u4ea7\u751f\u6b64\u539f\u56e0\u6709\u4e24\u4e2a\u5fc5\u8981\u6761\u4ef6\uff1a")),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"\u4f7f\u7528\u4e86 ",(0,r.kt)("inlineCode",{parentName:"li"},"Microsoft.AspNetCore.Mvc.NewtonsoftJson")," \u5305\u5e76\u6dfb\u52a0\u4e86 ",(0,r.kt)("inlineCode",{parentName:"li"},"AddNewtonsoftJson()")," \u6ce8\u518c\u3002"),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},".AddNewtonsoftJson()")," \u5199\u5728\u4e86 ",(0,r.kt)("inlineCode",{parentName:"li"},".AddInjectWithUnifyResult()")," \u540e\u9762\u3002")),(0,r.kt)("p",null,"\u6240\u4ee5\u89e3\u51b3\u65b9\u6cd5\u662f\uff0c\u5148\u6ce8\u518c ",(0,r.kt)("inlineCode",{parentName:"p"},".AddNewtonsoftJson()")," \u518d\u6ce8\u518c\u89c4\u8303\u5316\u7ed3\u679c\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {2}",showLineNumbers:!0,"":!0,"{2}":!0},"services.AddControllers()\n .AddNewtonsoftJson()\n .AddInjectWithUnifyResult();\n")),(0,r.kt)("h3",{id:"6525-swagger-\u591a\u8bed\u8a00\u652f\u6301"},"6.5.25 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u591a\u8bed\u8a00\u652f\u6301"),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 2.9.0 + ")," \u7248\u672c\u5df2\u7ecf\u652f\u6301\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u6587\u6863\u5730\u5740 ",(0,r.kt)("inlineCode",{parentName:"p"},"?culture=en-US")," \u53c2\u6570\u591a\u8bed\u8a00\u8f6c\u53d1\u529f\u80fd\u4e86\uff0c\u4e5f\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u5730\u5740\u5e26 ",(0,r.kt)("inlineCode",{parentName:"p"},"?culture=")," \u53c2\u6570\u5c06\u81ea\u52a8\u6dfb\u52a0\u5230\u6bcf\u4e00\u4e2a\u8bf7\u6c42\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"api")," \u5730\u5740\u4e2d\u3002"),(0,r.kt)("h3",{id:"6526-\u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236-swagger-\u6bcf\u4e00\u4e2a-api-\u53ef\u89c1\u6027"},"6.5.26 \u81ea\u5b9a\u4e49\u903b\u8f91\u63a7\u5236 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u6bcf\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"h3"},"api")," \u53ef\u89c1\u6027"),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u9700\u8981\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u63a5\u53e3\u53ef\u89c1\u6027\uff0c\u6bd4\u5982\u6839\u636e\u6743\u9650\uff0c\u4e0d\u540c\u7528\u6237\u7c7b\u578b\uff0c\u5404\u79cd\u903b\u8f91\u63a7\u5236\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,6}",showLineNumbers:!0,"{4,6}":!0},"// \u4e5f\u53ef\u4ee5\u7528 .AddInjectWithUnifyResult\nservices.AddInject(options =>\n{\n options.ConfigureSwaggerGen(gen =>\n {\n gen.DocInclusionPredicate((currentGroup, apiDescription) =>\n {\n // Furion \u5185\u90e8\u68c0\u67e5\uff0c\u5fc5\u987b\u653e\u7b2c\u4e00\u884c\n var isShow = SpecificationDocumentBuilder.CheckApiDescriptionInCurrentGroup(currentGroup, apiDescription);\n\n // \u83b7\u53d6\u5f53\u524d\u65b9\u6cd5\n _ = apiDescription.TryGetMethodInfo(out var method);\n\n // \u6709\u4e86\u65b9\u6cd5\uff0c\u8fd9\u91cc\u505a\u4f60\u60f3\u505a\u7684\u4e8b\u60c5\uff0cisShow \u8bbe\u7f6e true \u53ef\u89c1\uff0c\u8bbe\u7f6e false \u4e0d\u53ef\u89c1\n\n return isShow;\n });\n });\n});\n")),(0,r.kt)("h3",{id:"6527-\u914d\u7f6e-mvc-\u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406"},"6.5.27 \u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"h3"},"MVC")," \u63a7\u5236\u5668\u652f\u6301\u89c4\u8303\u5316\u5904\u7406"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "UnifyResultSettings": {\n "SupportMvcController": true\n }\n}\n')),(0,r.kt)("h3",{id:"6528-swagger-\u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001"},"6.5.28 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u5237\u65b0\u8bb0\u4f4f\u6388\u6743\u72b6\u6001"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u5237\u65b0\u6d4f\u89c8\u5668\u540e\uff0c\u6388\u6743\u72b6\u6001\u5c06\u88ab\u91cd\u7f6e\uff0c\u4e5f\u5c31\u662f\u9700\u8981\u91cd\u65b0\u767b\u5f55\uff0c\u901a\u8fc7\u4e0b\u9762\u4ee3\u7801\u5728 ",(0,r.kt)("strong",{parentName:"p"},"\u7528\u6237\u767b\u5f55\u6210\u529f\u540e")," \u8c03\u7528\u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'// ....\u9a8c\u8bc1\u7528\u6237\u540d/\u5bc6\u7801....\n\n_httpContextAccessor.HttpContext.SigninToSwagger("\u4f20\u5165 token");\n')),(0,r.kt)("h3",{id:"6529-\u5e26\u767b\u5f55\u7684-swagger-\u6587\u6863"},"6.5.29 \u5e26\u767b\u5f55\u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u6587\u6863"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.3+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u662f\u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u8bbf\u95ee\u7684\uff0c\u8fd9\u6837\u4e5f\u66b4\u9732\u51fa\u4e00\u4e9b\u5b89\u5168\u95ee\u9898\uff0c\u6240\u4ee5\u5728\u8be5\u7248\u672c\u4e4b\u540e\u6dfb\u52a0\u4e86\u767b\u5f55\u529f\u80fd\uff0c\u53ea\u9700\u8981\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"p"},"SpecificationDocumentSettings")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"LoginInfo")," \u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-6}",showLineNumbers:!0,"{2-6}":!0},'{\n "SpecificationDocumentSettings": {\n "LoginInfo": {\n "Enabled": true,\n "CheckUrl": "/Home/CheckUrl",\n "SubmitUrl": "/Home/SubmitUrl",\n "UserName": "admin",\n "Password": "admin"\n }\n }\n}\n')),(0,r.kt)("h4",{id:"\u914d\u7f6e\u8bf4\u660e"},"\u914d\u7f6e\u8bf4\u660e"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"LoginInfo"),"\uff1a\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger")," \u662f\u5426\u9700\u8981\u767b\u5f55\u624d\u80fd\u8bbf\u95ee\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationLoginInfo")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"null"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.3.3+` \u6709\u6548"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Enabled"),"\uff1a\u662f\u5426\u542f\u7528\u767b\u5f55\u6388\u6743\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"CheckUrl"),"\uff1a\u68c0\u67e5\u767b\u5f55\u72b6\u6001\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42"),"\uff0c\u5df2\u6388\u6743\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401"),"\uff0c\u652f\u6301\u76f8\u5bf9\u5730\u5740\uff0c\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},"/")," \u5f00\u5934"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SubmitUrl"),"\uff1a\u63d0\u4ea4\u767b\u5f55\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42\u4e14\u53ea\u6709\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"strong"},"SpecificationAuth")," \u7c7b\u578b\u53c2\u6570"),"\uff0c\u6210\u529f\u767b\u5f55\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401"),"\uff0c\u652f\u6301\u76f8\u5bf9\u5730\u5740\uff0c\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},"/")," \u5f00\u5934")))),(0,r.kt)("h4",{id:"\u914d\u7f6e\u793a\u4f8b"},"\u914d\u7f6e\u793a\u4f8b"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {10-14,16-31}",showLineNumbers:!0,"{10-14,16-31}":!0},'using Furion.SpecificationDocument;\nusing Microsoft.AspNetCore.Authorization;\nusing Microsoft.AspNetCore.Mvc;\nusing System.ComponentModel.DataAnnotations;\n\nnamespace Furion.Web.Entry.Controllers;\n\npublic class HomeController : Controller\n{\n [HttpPost, AllowAnonymous, NonUnify]\n public int CheckUrl()\n {\n return 401;\n }\n\n [HttpPost, AllowAnonymous, NonUnify]\n public int SubmitUrl([FromForm] SpecificationAuth auth)\n {\n // \u8bfb\u53d6\u914d\u7f6e\u4fe1\u606f\n var userName = App.Configuration["SpecificationDocumentSettings:LoginInfo:UserName"];\n var password = App.Configuration["SpecificationDocumentSettings:LoginInfo:Password"];\n\n if (auth.UserName == userName && auth.Password == password)\n {\n return 200;\n }\n else\n {\n return 401;\n }\n }\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/swgdl.png")}),(0,r.kt)("h2",{id:"6530-inheritdoc-\u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f"},"6.5.30 ",(0,r.kt)("inlineCode",{parentName:"h2"},"inheritdoc")," \u5b9e\u73b0\u6ce8\u91ca\u7ee7\u627f"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.3+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728\u8fc7\u53bb\u6211\u4eec\u5728\u63a5\u53e3\u5b9a\u4e49\u7684\u65f6\u5019\u7f16\u5199\u4e86\u5b8c\u6574\u7684\u6210\u5458\u6ce8\u91ca\uff0c\u7136\u540e\u5728\u6d3e\u751f\u6210\u5458\u4e2d\u53c8\u8981\u91cd\u590d\u5199\u4e00\u6b21\uff0c\u5b9e\u9645\u4e0a\u505a\u4e86\u5f88\u5927\u65e0\u7528\u529f\uff0c\u73b0\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u652f\u6301\u4e86\u6ce8\u91ca\u7ee7\u627f\u4e86\uff0c\u540c\u65f6 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4e2d\u4e5f\u80fd\u6b63\u786e\u663e\u793a\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5,8,14}",showLineNumbers:!0,"{5,8,14}":!0},'using Furion.DynamicApiController;\n\nnamespace Furion.Application\n{\n /// \n public class TestInheritdoc : ITestInheritdoc, IDynamicApiController\n {\n /// \n public string GetName()\n {\n return "Furion";\n }\n\n /// \n public string GetVersion()\n {\n return "3.3.3";\n }\n }\n\n /// \n /// \u6d4b\u8bd5\u6ce8\u91ca\u7ee7\u627f\n /// \n public interface ITestInheritdoc\n {\n /// \n /// \u83b7\u53d6\u540d\u79f0\n /// \n /// \n string GetName();\n\n /// \n /// \u83b7\u53d6\u7248\u672c\n /// \n /// \n string GetVersion();\n }\n}\n\n')),(0,r.kt)("p",null,"\u663e\u793a\u6548\u679c\uff1a"),(0,r.kt)("img",{src:(0,l.Z)("img/cdr22.png")}),(0,r.kt)("admonition",{title:"\u6ce8\u610f\u4e8b\u9879",type:"important"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"")," \u4e0d\u6307\u5b9a ",(0,r.kt)("inlineCode",{parentName:"p"},"cref")," ",(0,r.kt)("strong",{parentName:"p"},"\u4ec5\u9650\u6210\u5458\u53ef\u7528"),"\u4e14\u6240\u5728\u7684\u7c7b\u578b\u5fc5\u987b\u6307\u5b9a ",(0,r.kt)("inlineCode",{parentName:"p"},''),"\uff0c\u8fd9\u6837\u624d\u80fd\u81ea\u52a8\u8bc6\u522b\u3002")),(0,r.kt)("h3",{id:"6531-\u542f\u7528-all-groups-\u5206\u7ec4\u529f\u80fd"},"6.5.31 \u542f\u7528 ",(0,r.kt)("inlineCode",{parentName:"h3"},"All Groups")," \u5206\u7ec4\u529f\u80fd"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.4+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u4e3a\u4e86\u66f4\u597d\u7684\u5bf9\u63a5\u53e3\u8fdb\u884c\u5f52\u7c7b\uff0c\u914d\u7f6e\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u591a\u4e2a\u5206\u7ec4\u7684\u529f\u80fd\uff0c\u4f46\u8fd9\u6837\u4e5f\u5bf9\u751f\u6210\u5ba2\u6237\u7aef\u8bf7\u6c42\u4ee3\u7801\u9020\u6210\u4e86\u56f0\u6270\uff0c\u6240\u4ee5\u6dfb\u52a0\u4e86\u65b0\u7684\u914d\u7f6e\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers {2-3}",showLineNumbers:!0,"{2-3}":!0},'{\n "SpecificationDocumentSettings": {\n "EnableAllGroups": true\n }\n}\n')),(0,r.kt)("h3",{id:"6532-\u63a5\u53e3\u8fc7\u65f6\u63a7\u5236"},"6.5.32 \u63a5\u53e3\u8fc7\u65f6\u63a7\u5236"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.5+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u6211\u4eec\u67d0\u4e2a\u63a5\u53e3\u5df2\u7ecf\u8fc7\u65f6\uff0c\u63d0\u793a\u5c3d\u65e9\u8c03\u7528\u6700\u65b0\u63a5\u53e3\uff0c\u53ea\u9700\u8981\u5728\u65b9\u6cd5\u4e0a\u9762\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[Obsolete]")," \u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,7}",showLineNumbers:!0,"{1,7}":!0},'[Obsolete("GetName() \u5df2\u7ecf\u8fc7\u65f6\uff0c\u8bf7\u8c03\u7528 GetFrameworkName() \u66ff\u4ee3")]\npublic string GetName()\n{\n return nameof(Furion);\n}\n\n[Obsolete]\npublic string Other()\n{\n // ...\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/swg2.png")}),(0,r.kt)("h3",{id:"6533-\u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0"},"6.5.33 \u5355\u4e00\u63a5\u53e3\u66f4\u591a\u63cf\u8ff0"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.3.5+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728\u8be5\u7248\u672c\u65b0\u589e\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"[ApiDescriptionSettings]")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Description")," \u5c5e\u6027\uff0c\u652f\u6301\u5b9a\u4e49\u66f4\u591a\u63cf\u8ff0\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'[ApiDescriptionSettings(Description = "\u6211\u662f\u4e00\u6bb5\u63cf\u8ff0\uff0c\u663e\u793a\u66f4\u591a\u5185\u5bb9 ")]\npublic string add()\n{\n //....\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/swg1.png")}),(0,r.kt)("h3",{id:"6534-swagger-\u5f02\u5e38\u4e0d\u80fd\u663e\u793a\u9519\u8bef\u5904\u7406"},"6.5.34 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u5f02\u5e38/\u4e0d\u80fd\u663e\u793a/\u9519\u8bef\u5904\u7406"),(0,r.kt)("p",null,"\u6709\u65f6\u5019\u53ef\u80fd\u56e0\u4e3a\u9519\u8bef\u7684\u914d\u7f6e\u5bfc\u81f4 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4e0d\u80fd\u663e\u793a\uff0c\u8fd9\u65f6\u5019\u53ea\u9700\u8981\u590d\u5236\u63d0\u793a\u7684\u9519\u8bef ",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u94fe\u63a5\u5730\u5740\u5230\u6d4f\u89c8\u5668\u4e2d\u8bbf\u95ee\u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:"showLineNumbers",showLineNumbers:!0},"https://localhost:\u4f60\u7684\u7aef\u53e3/swagger/Default/swagger.json\n")),(0,r.kt)("p",null,"\u540e\u9762\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"/swagger/Default/swagger.json")," \u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u9519\u8bef\u63d0\u793a\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},".json")," \u94fe\u63a5\u5730\u5740\u3002"),(0,r.kt)("p",null,"\u8fd9\u6837\u5c31\u53ef\u4ee5\u770b\u5230\u8be6\u7ec6\u7684\u9519\u8bef\u4e86\u3002"),(0,r.kt)("img",{src:(0,l.Z)("img/sperr.png")}),(0,r.kt)("img",{src:(0,l.Z)("img/sperr2.png")}),(0,r.kt)("h3",{id:"6535-\u81ea\u5b9a\u4e49-swagger-\u7684-schemaid"},"6.5.35 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"SchemaId")),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion v3.6.4+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u6709\u65f6\u5019\uff0c\u4e0d\u540c\u7a0b\u5e8f\u96c6\u4f1a\u5b9a\u4e49\u76f8\u540c\u7684\u7c7b\u578b\u540d\u79f0 ",(0,r.kt)("inlineCode",{parentName:"p"},"Name"),"\uff0c\u8fd9\u6837\u5c31\u4f1a\u5bfc\u81f4\u751f\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"SchemaId")," \u51fa\u73b0\u51b2\u7a81\uff0c\u8fd9\u65f6\u53ea\u9700\u8981\u5728\u7c7b\u578b\u4e0a\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[SchemaId]")," \u7279\u6027\u5373\u53ef\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},'using Furion.SpecificationDocument;\n\n[SchemaId("Other_")]\npublic class PersonDto\n{\n // ...\n}\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SchemaIdAttribute")," \u914d\u7f6e\u9009\u9879\uff1a",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SchemaId"),"\uff1a\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"li"},"SchemaId"),"\uff0c\u5b57\u7b26\u4e32\u7c7b\u578b\uff0c\u53ea\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"li"},"\u5b57\u6bcd,\u6570\u5b57\uff0c\u4e0b\u5212\u7ebf")," \u7ec4\u5408"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Replace"),"\uff1a\u662f\u5426\u5b8c\u5168\u66ff\u6362\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false"),"\uff0c\u9ed8\u8ba4\u662f\u4f5c\u4e3a\u524d\u7f00\u62fc\u63a5\uff0c\u5982\u4e0a\u9762\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"PersonDto")," \u4f1a\u751f\u6210 ",(0,r.kt)("inlineCode",{parentName:"li"},"Other_PersonDto"),"\uff0c\u5982\u679c\u8bbe\u7f6e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"li"},"true"),"\uff0c\u5219\u76f4\u63a5\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},"Test_"))))),(0,r.kt)("h3",{id:"6536-\u81ea\u5b9a\u4e49-swagger-\u7684-operationid"},"6.5.36 \u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"OperationId")),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 4.1.7+")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u901a\u8fc7\u6211\u4eec\u6839\u636e ",(0,r.kt)("inlineCode",{parentName:"p"},"swagger.json")," \u751f\u6210\u524d\u7aef\u4ee3\u7801\u65f6\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u4f1a\u81ea\u52a8\u6839\u636e\u8def\u7531\u5730\u5740\u751f\u6210\u8c03\u7528\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"api")," \u540d\u79f0\uff0c\u4f46\u8fd9\u6837\u7684\u540d\u79f0\u5f80\u5f80\u4e0d\u6613\u8bfb\uff0c\u8fd9\u65f6\u5019\u53ef\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"[OperationId]")," \u6765\u914d\u7f6e\u751f\u6210\u7684\u524d\u7aef\u540d\u79f0\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {5}",showLineNumbers:!0,"{5}":!0},'using Furion.SpecificationDocument;\n\npublic class PersonDto\n{\n [OperationId("MyClientMethodName")]\n public string TestMethod()\n {\n // ...\n }\n}\n')),(0,r.kt)("h3",{id:"6537-swagger-\u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684-markdown"},"6.5.37 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Swagger")," \u63a5\u53e3\u6587\u6863\u652f\u6301\u5b8c\u6574\u7684 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Markdown")),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6700\u65b0\u7248\u4e2d\uff0c\u652f\u6301\u4e86\u5b8c\u6574\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Markdown")," \u6ce8\u518c\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {4,80}",showLineNumbers:!0,"{4,80}":!0},'/// \n/// \u6d4b\u8bd5 Markdown\n/// \n/// \n/// # \u5148\u77e5 / Furion ([\u63a2\u7d22\u7248](https://gitee.com/dotnetchina/Furion/tree/experimental/))\n///\n/// \u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6846\u67b6\uff0c\u60a8\u53ef\u4ee5\u5c06\u5b83\u96c6\u6210\u5230\u4efb\u4f55.NET/C# \u5e94\u7528\u7a0b\u5e8f\u4e2d\u3002\n///\n/// An application framework that you can integrate into any.NET/C# application.\n///\n/// ## \u5b89\u88c5 / Installation\n///\n/// - [Package Manager] (https://www.nuget.org/packages/Furion)\n///\n/// ```powershell\n/// Install-Package Furion\n/// ```\n///\n/// - [.NET CLI] (https://www.nuget.org/packages/Furion)\n///\n/// ```powershell\n/// dotnet add package Furion\n/// ```\n///\n/// ## \u4f8b\u5b50 / Examples\n///\n/// \u6211\u4eec\u5728[\u4e3b\u9875](https://furion.baiqian.ltd)\u4e0a\u6709\u4e0d\u5c11\u4f8b\u5b50\uff0c\u8fd9\u662f\u8ba9\u60a8\u5165\u95e8\u7684\u7b2c\u4e00\u4e2a\uff1a\n///\n/// We have several examples [on the website] (https://furion.baiqian.ltd). Here is the first one to get you started:\n///\n/// ```cs\n/// Serve.Run();\n///\n/// [DynamicApiController]\n/// public class HelloService\n/// {\n/// public string Say()\n/// {\n/// return "Hello, Furion";\n/// }\n/// }\n/// ```\n///\n/// \u6253\u5f00\u6d4f\u89c8\u5668\u8bbf\u95ee `https://localhost:5001`\u3002\n///\n/// Open browser access `https://localhost:5001`.\n///\n/// ## \u6587\u6863 / Documentation\n///\n/// \u60a8\u53ef\u4ee5\u5728[\u4e3b\u9875] (https://furion.baiqian.ltd)\u6216[\u5907\u4efd\u4e3b\u9875](https://furion.icu)\u627e\u5230 Furion \u6587\u6863\u3002\n///\n/// You can find the Furion documentation[on the website](https://furion.baiqian.ltd) or [on the backup website](https://furion.icu).\n///\n/// ## \u8d21\u732e / Contributing\n///\n/// \u8be5\u5b58\u50a8\u5e93\u7684\u4e3b\u8981\u76ee\u7684\u662f\u7ee7\u7eed\u53d1\u5c55 Furion \u6838\u5fc3\uff0c\u4f7f\u5176\u66f4\u5feb\u3001\u66f4\u6613\u4e8e\u4f7f\u7528\u3002 Furion \u7684\u5f00\u53d1\u5728[Gitee](https://gitee.com/dotnetchina/Furion) \u4e0a\u516c\u5f00\u8fdb\u884c\uff0c\u6211\u4eec\u611f\u8c22\u793e\u533a\u8d21\u732e\u9519\u8bef\u4fee\u590d\u548c\u6539\u8fdb\u3002\n///\n/// \u9605\u8bfb[\u8d21\u732e\u6307\u5357] (https://furion.baiqian.ltd/docs/contribute)\u5185\u5bb9\uff0c\u4e86\u89e3\u5982\u4f55\u53c2\u4e0e\u6539\u8fdb Furion\u3002\n///\n/// The main purpose of this repository is to continue evolving Furion core, making it faster and easier to use.Development of Furion happens in the open on[Gitee] (https://gitee.com/dotnetchina/Furion), and we are grateful to the community for contributing bugfixes and improvements.\n///\n/// Read[contribution documents] (https://furion.baiqian.ltd/docs/contribute) to learn how you can take part in improving Furion.\n///\n/// ## \u8bb8\u53ef\u8bc1 / License\n///\n/// Furion \u91c7\u7528[MIT](https://gitee.com/dotnetchina/Furion/blob/v4/LICENSE) \u5f00\u6e90\u8bb8\u53ef\u8bc1\u3002\n///\n/// Furion uses the[MIT] (https://gitee.com/dotnetchina/Furion/blob/v4/LICENSE) open source license.\n///\n/// ```\n/// Copyright(c) 2020-2022 \u767e\u5c0f\u50e7, Baiqian Co., Ltd.\n/// Furion is licensed under Mulan PSL v2.\n/// You can use this software according to the terms andconditions of the Mulan PSL v2.\n/// You may obtain a copy of Mulan PSL v2 at:\n/// https://gitee.com/dotnetchina/Furion/blob/v4/LICENSE\n/// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUTWARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n/// See the Mulan PSL v2 for more details.\n/// ```\n///\n/// \n/// \npublic string Hello()\n{\n return "Furion";\n}\n')),(0,r.kt)("img",{src:(0,l.Z)("img/mdx.png")}),(0,r.kt)("h3",{id:"6538-\u7b2c\u4e09\u65b9-ui-\u96c6\u6210\u5982-knife4jui"},"6.5.38 \u7b2c\u4e09\u65b9 ",(0,r.kt)("inlineCode",{parentName:"h3"},"UI")," \u96c6\u6210\uff0c\u5982 ",(0,r.kt)("inlineCode",{parentName:"h3"},"Knife4jUI")),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u4e2d\uff0c\u96c6\u6210\u7b2c\u4e09\u65b9 ",(0,r.kt)("inlineCode",{parentName:"p"},"SwaggerUI")," \u975e\u5e38\u5bb9\u6613\uff0c\u6bd4\u5982\u96c6\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"IGeekFan.AspNetCore.Knife4jUI"),"\uff1a"),(0,r.kt)("admonition",{title:"\u5b89\u88c5\u5305",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u53ea\u9700\u8981\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"YourPoject.Web.Core")," \u5c42\u5b89\u88c5 ",(0,r.kt)("inlineCode",{parentName:"p"},"IGeekFan.AspNetCore.Knife4jUI")," \u5373\u53ef\u3002")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u72ec\u7acb\u7248\u672c\u914d\u7f6e")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,12}",showLineNumbers:!0,"{1,3,12}":!0},'var routePrefix = "api"; // \u5b9a\u4e49 swagger \u8def\u7531\u5730\u5740\uff0c\u5982\u679c\u662f\u8ddf\u76ee\u5f55\uff0c\u8bbe\u7f6e string.Empty \u5373\u53ef\n\napp.UseKnife4UI(options =>\n{\n options.RoutePrefix = routePrefix; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(routePrefix); // \u914d\u7f6e Furion \u8def\u7531\u5730\u5740\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("inlineCode",{parentName:"strong"},"Knife4jUI")," \u548c ",(0,r.kt)("inlineCode",{parentName:"strong"},"Swagger")," \u5171\u5b58\u7248\u672c\u914d\u7f6e")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,3,10}",showLineNumbers:!0,"{1,3,10}":!0},'app.UseKnife4UI(options =>\n{\n options.RoutePrefix = "newapi"; // \u914d\u7f6e Knife4UI \u8def\u7531\u5730\u5740\uff0c\u73b0\u5728\u662f /newapi\n foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())\n {\n options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);\n }\n});\n\napp.UseInject(); // Furion \u9ed8\u8ba4 api \u5730\u5740\u4e3a /api\n')),(0,r.kt)("img",{src:(0,l.Z)("img/sg20.png")}),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"\u5982\u9700\u5b9e\u73b0\u767b\u5f55\u4e4b\u540e\u81ea\u52a8\u5c06 ",(0,r.kt)("inlineCode",{parentName:"strong"},"token")," \u6dfb\u52a0\u5230\u5934\u90e8\u53ef\u5728\u767b\u5f55\u63a5\u53e3 ",(0,r.kt)("inlineCode",{parentName:"strong"},"AfterScript")," \u6267\u884c\u4ee5\u4e0b\u4ee3\u7801\uff1a")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},'ke.global.setAllHeader(\n "Authorization",\n "Bearer " + ke.response.headers["access-token"]\n);\n')),(0,r.kt)("img",{src:(0,l.Z)("img/kni.jpg")}),(0,r.kt)("h2",{id:"66-specificationdocumentsettings-\u914d\u7f6e"},"6.6 ",(0,r.kt)("inlineCode",{parentName:"h2"},"SpecificationDocumentSettings")," \u914d\u7f6e"),(0,r.kt)("p",null,"\u9664\u4e86\u4e0a\u8ff0\u4f8b\u5b50\u5916\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u63d0\u4f9b\u4e86\u4e00\u4e9b\u914d\u7f6e\u9009\u9879\uff0c\u5982\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DocumentTitle"),"\uff1a\u6587\u6863\u6807\u9898\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"Specification Api Document")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DefaultGroupName"),"\uff1a\u9ed8\u8ba4\u5206\u7ec4\u540d\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"Default")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableAuthorized"),"\uff1a\u662f\u5426\u542f\u7528\u6743\u9650\u63a7\u5236\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"FormatAsV2"),"\uff1a\u91c7\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger 2.0")," \u7248\u672c\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false")," ",(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("a",{parentName:"strong",href:"https://github.com/domaindrivendev/Swashbuckle.WebApi/issues/1393"},"\u5df2\u5f03\u7528"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"RoutePrefix"),"\uff1a\u89c4\u8303\u5316\u6587\u6863\u5730\u5740\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"api"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u5982\u679c\u5e0c\u671b\u5728\u9996\u9875\uff0c\u6539\u4e3a\u7a7a\u5b57\u7b26\u4e32\u5373\u53ef"),"\u3002"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"DocExpansionState"),"\uff1a\u6587\u6863\u663e\u793a\u65b9\u5f0f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"DocExpansion"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"List"),"\uff0c\u53d6\u503c\uff1a",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"List"),"\uff1a\u5217\u8868\u5f0f\uff08\u5c55\u5f00\u5b50\u7c7b\uff09\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u9ed8\u8ba4\u503c")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Full"),"\uff1a\u5b8c\u5168\u5c55\u5f00"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"None"),"\uff1a\u5217\u8868\u5f0f\uff08\u4e0d\u5c55\u5f00\u5b50\u7c7b\uff09"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"XmlComments"),"\uff1a\u7a0b\u5e8f\u96c6\u6ce8\u91ca\u63cf\u8ff0\u6587\u4ef6\u540d\uff08\u53ef\u5e26 ",(0,r.kt)("inlineCode",{parentName:"li"},".xml"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"Furion.Application, Furion.Web.Entry, Furion.Web.Core")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"GroupOpenApiInfos"),"\uff1a\u5206\u7ec4\u4fe1\u606f\u914d\u7f6e\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationOpenApiInfo[]"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"{ 'Group': 'Default'}")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SecurityDefinitions"),"\uff1a\u5b89\u5168\u7b56\u7565\u5b9a\u4e49\u914d\u7f6e\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationOpenApiSecurityScheme[]"),"\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"[]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Servers"),"\uff1a\u914d\u7f6e Server \u4e0b\u62c9\u5217\u8868\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"OpenApiServer[]")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"[]"),"\uff0c\u5982\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},'{Servers:[ { Url:"\u5730\u5740", Description:"\u63cf\u8ff0"} ]}')),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"HideServers"),"\uff1a\u662f\u5426\u9690\u85cf Server \u4e0b\u62c9\u5217\u8868\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"RouteTemplate"),"\uff1a\u914d\u7f6e\u6587\u6863 ",(0,r.kt)("inlineCode",{parentName:"li"},"swagger.json")," \u8def\u7531\u6a21\u677f\uff0c\u9ed8\u8ba4\u6a21\u677f\uff1a",(0,r.kt)("inlineCode",{parentName:"li"},"swagger/{documentName}/swagger.json"),", ",(0,r.kt)("inlineCode",{parentName:"li"},"{documentName}")," \u4ee3\u8868\u5206\u7ec4\u540d\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u5fc5\u987b\u4fdd\u7559\u539f\u6837")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"PackagesGroups"),"\uff1a\u914d\u7f6e\u6a21\u5757\u5316\u5185\u7f6e\u5206\u7ec4\u540d\u79f0\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string[]")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"[]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableEnumSchemaFilter"),"\uff1a\u542f\u7528\u679a\u4e3e Schema \u7b5b\u9009\u5668\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableTagsOrderDocumentFilter"),"\uff1a\u542f\u7528\u6807\u7b7e\u6392\u5e8f\u7b5b\u9009\u5668\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"ServerDir"),"\uff1a\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"IIS")," \u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"li"},"Application")," \u90e8\u7f72\u540d\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b\uff0c\u9ed8\u8ba4\u7a7a\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.2.0+` \u6709\u6548")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"LoginInfo"),"\uff1a\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger")," \u662f\u5426\u9700\u8981\u767b\u5f55\u624d\u80fd\u8bbf\u95ee\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"SpecificationLoginInfo")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"null"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.3.3+` \u6709\u6548"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Enabled"),"\uff1a\u662f\u5426\u542f\u7528\u767b\u5f55\u6388\u6743\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"CheckUrl"),"\uff1a\u68c0\u67e5\u767b\u5f55\u72b6\u6001\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42"),"\uff0c\u5df2\u6388\u6743\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"SubmitUrl"),"\uff1a\u63d0\u4ea4\u767b\u5f55\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"Url")," \u5730\u5740\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u8be5\u5730\u5740\u5fc5\u987b\u662f ",(0,r.kt)("inlineCode",{parentName:"strong"},"POST")," \u8bf7\u6c42\u4e14\u53ea\u6709\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"strong"},"SpecificationAuth")," \u7c7b\u578b\u53c2\u6570"),"\uff0c\u6210\u529f\u767b\u5f55\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"200"),"\uff0c\u5426\u5219\u8fd4\u56de ",(0,r.kt)("inlineCode",{parentName:"li"},"401"),"\uff0c\u652f\u6301\u76f8\u5bf9\u5730\u5740\uff0c\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},"/")," \u5f00\u5934"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"EnableAllGroups"),"\uff1a\u542f\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},"Swagger")," \u603b\u5206\u7ec4\u529f\u80fd\uff0c\u81ea\u52a8\u5c06\u6240\u6709\u5206\u7ec4\u7684\u63a5\u53e3\u5408\u5e76\u5230 ",(0,r.kt)("inlineCode",{parentName:"li"},"All Groups")," \u4e2d\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"false"),"\uff0c",(0,r.kt)("strong",{parentName:"li"},"\u4ec5\u5728 Furion v3.3.4+` \u6709\u6548"))),(0,r.kt)("p",null,"\u53e6\u5916 ",(0,r.kt)("inlineCode",{parentName:"p"},"SpecificationOpenApiInfo")," \u5185\u7f6e\u914d\u7f6e\u5982\u4e0b\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Group"),"\uff1a\u5206\u7ec4\u552f\u4e00\u6807\u8bc6\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b\uff0c\u5fc5\u586b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Order"),"\uff1a\u5206\u7ec4\u6392\u5e8f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"int")," \u7c7b\u578b\uff0c\u6570\u5b57\u8d8a\u5927\u6392\u524d\u9762\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"0")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Visible"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u662f\u5426\u53ef\u89c1\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"bool")," \u7c7b\u578b\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Title"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u6807\u9898\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Description"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u63cf\u8ff0\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"string")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Version"),"\uff1a\u914d\u7f6e\u5206\u7ec4\u7248\u672c\uff0c\u9ed8\u8ba4 ",(0,r.kt)("inlineCode",{parentName:"li"},"1.0")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"TermsOfService"),"\uff1a\u914d\u7f6e\u76f8\u5173\u94fe\u63a5\u5730\u5740\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"Uri")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Contact"),"\uff1a\u914d\u7f6e\u8054\u7cfb\u65b9\u5f0f\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"OpenApiContact")," \u7c7b\u578b"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"License"),"\uff1a\u914d\u7f6e\u534f\u8bae\uff0c",(0,r.kt)("inlineCode",{parentName:"li"},"OpenApiLicense")," \u7c7b\u578b")),(0,r.kt)("p",null,"\u914d\u7f6e\u793a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-json",metastring:"showLineNumbers",showLineNumbers:!0},'{\n "SpecificationDocumentSettings": {\n "GroupOpenApiInfos": [\n {\n "Group": "Group1",\n "Title": "\u5206\u7ec4\u6807\u9898",\n "Description": "\u8fd9\u91cc\u662f\u5206\u7ec4\u63cf\u8ff0",\n "Version": "\u7248\u672c\u53f7",\n "TermsOfService": "https://furion.icu",\n "Contact": {\n "Name": "\u767e\u5c0f\u50e7",\n "Url": "https://gitee.com/monksoul",\n "Email": "monksoul@outlook.com"\n },\n "License": {\n "Name": "MIT",\n "Url": "https://gitee.com/dotnetchina/Furion/blob/alpha/LICENSE"\n }\n }\n ]\n }\n}\n')),(0,r.kt)("h2",{id:"67-\u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b\u89c4\u8303\u5316\u7ed3\u679capi-\u8fd4\u56de\u503c"},"6.7 \u7edf\u4e00\u8fd4\u56de\u503c\u6a21\u578b/\u89c4\u8303\u5316\u7ed3\u679c/API \u8fd4\u56de\u503c"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b ",(0,r.kt)("inlineCode",{parentName:"p"},"\u89c4\u8303\u5316\u7ed3\u679c")," \u529f\u80fd\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b9e\u73b0 ",(0,r.kt)("inlineCode",{parentName:"p"},"IUnifyResultProvider")," \u63d0\u4f9b\u5668\u5b9e\u73b0\u7edf\u4e00\u89c4\u8303\u5316\u8fd4\u56de\u503c\u5b9a\u5236\uff0c\u5982\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"\u5b9a\u4e49\u7ed3\u679c\u5305\u88c5\u7c7b\u578b"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2}",showLineNumbers:!0,"{1-2}":!0},"// \u5fc5\u987b\u662f\u6cdb\u578b\u7c7b\u578b\npublic class YourRESTfulResult\n{\n /// \n /// \u72b6\u6001\u7801\n /// \n public int? StatusCode { get; set; }\n\n /// \n /// \u6570\u636e\n /// \n public T Data { get; set; }\n\n /// \n /// \u6267\u884c\u6210\u529f\n /// \n public bool Succeeded { get; set; }\n\n /// \n /// \u9519\u8bef\u4fe1\u606f\n /// \n public object Errors { get; set; }\n\n /// \n /// \u9644\u52a0\u6570\u636e\n /// \n public object Extras { get; set; }\n\n /// \n /// \u65f6\u95f4\u6233\n /// \n public long Timestamp { get; set; }\n}\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"strong"},"IUnifyResultProvider")," \u5b9e\u73b0\u7c7b\uff0c\u5e76\u8d34\u7279\u6027 ",(0,r.kt)("inlineCode",{parentName:"strong"},"[UnifyModel(typeof(YourRESTfulResult<>))]")))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {15-16,24,36,48,61}",showLineNumbers:!0,"":!0,"{15-16,24,36,48,61}":!0},'using Furion.DataValidation;\nusing Furion.DependencyInjection;\nusing Furion.UnifyResult.Internal;\nusing Microsoft.AspNetCore.Http;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Mvc.Filters;\nusing System;\nusing System.Threading.Tasks;\n\nnamespace YourProject.UnifyResult\n{\n /// \n /// RESTful \u98ce\u683c\u8fd4\u56de\u503c\n /// \n [UnifyModel(typeof(YourRESTfulResult<>))]\n public class YourRESTfulResultProvider : IUnifyResultProvider\n {\n /// \n /// \u5f02\u5e38\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)\n {\n return new JsonResult(YourRESTfulResult(metadata.StatusCode, data: metadata.Data, errors: metadata.Errors)\n , UnifyContext.GetSerializerSettings(context)); // \u5f53\u524d\u884c\u4ec5\u9650 Furion 4.6.6+ \u4f7f\u7528\n }\n\n /// \n /// \u6210\u529f\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n {\n return new JsonResult(YourRESTfulResult(StatusCodes.Status200OK, true, data)\n , UnifyContext.GetSerializerSettings(context)); // \u5f53\u524d\u884c\u4ec5\u9650 Furion 4.6.6+ \u4f7f\u7528\n }\n\n /// \n /// \u9a8c\u8bc1\u5931\u8d25\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)\n {\n return new JsonResult(YourRESTfulResult(metadata.StatusCode ?? StatusCodes.Status400BadRequest, data: metadata.Data, errors: metadata.ValidationResult)\n , UnifyContext.GetSerializerSettings(context)); // \u5f53\u524d\u884c\u4ec5\u9650 Furion 4.6.6+ \u4f7f\u7528\n }\n\n /// \n /// \u7279\u5b9a\u72b6\u6001\u7801\u8fd4\u56de\u503c\n /// \n /// \n /// \n /// \n /// \n public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)\n {\n // \u8bbe\u7f6e\u54cd\u5e94\u72b6\u6001\u7801\n UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);\n\n switch (statusCode)\n {\n // \u5904\u7406 401 \u72b6\u6001\u7801\n case StatusCodes.Status401Unauthorized:\n await context.Response.WriteAsJsonAsync(YourRESTfulResult(statusCode, errors: "401 Unauthorized")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n // \u5904\u7406 403 \u72b6\u6001\u7801\n case StatusCodes.Status403Forbidden:\n await context.Response.WriteAsJsonAsync(YourRESTfulResult(statusCode, errors: "403 Forbidden")\n , App.GetOptions()?.JsonSerializerOptions);\n break;\n default: break;\n }\n }\n\n /// \n /// \u8fd4\u56de RESTful \u98ce\u683c\u7ed3\u679c\u96c6\n /// \n /// \n /// \n /// \n /// \n /// \n private static YourRESTfulResult YourRESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)\n {\n return new YourRESTfulResult\n {\n StatusCode = statusCode,\n Succeeded = succeeded,\n Data = data,\n Errors = errors,\n Extras = UnifyContext.Take(),\n Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()\n };\n }\n }\n}\n')),(0,r.kt)("p",null,"\u4e4b\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u4e2d\u6ce8\u518c\u5373\u53ef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"services.AddControllers()\n .AddInjectWithUnifyResult();\n")),(0,r.kt)("admonition",{title:"\u7279\u522b\u6ce8\u610f",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u89c4\u8303\u5316\u7ed3\u679c\u4e0d\u4f1a\u5bf9 ",(0,r.kt)("inlineCode",{parentName:"p"},"401")," \u548c ",(0,r.kt)("inlineCode",{parentName:"p"},"403"),"\u3001",(0,r.kt)("inlineCode",{parentName:"p"},"404")," \u72b6\u6001\u7801\u8fdb\u884c\u89c4\u8303\u5316\u5904\u7406\uff0c\u5982\u9700\u542f\u52a8\u8be5\u72b6\u6001\u7801\u5904\u7406\uff0c\u53ea\u9700\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Configure")," \u4e2d\u542f\u7528\u63a5\u53e3\uff1a"),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"public void Configure(IApplicationBuilder app, IWebHostEnvironment env)\n{\n if (env.IsDevelopment())\n {\n app.UseDeveloperExceptionPage();\n }\n // \u6dfb\u52a0\u89c4\u8303\u5316\u7ed3\u679c\u72b6\u6001\u7801\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u6ce8\u518c\n app.UseUnifyResultStatusCodes();\n // \u5176\u4ed6\u6ce8\u518c...\n}\n"))),(0,r.kt)("h3",{id:"671-\u6392\u9664\u89c4\u8303\u5316\u5904\u7406"},"6.7.1 \u6392\u9664\u89c4\u8303\u5316\u5904\u7406"),(0,r.kt)("p",null,"\u6709\u4e9b\u65f6\u5019\uff0c\u6211\u4eec\u67d0\u4e9b\u63a5\u53e3\u4e0d\u9700\u8981\u8fdb\u884c\u89c4\u8303\u5316\u5904\u7406\uff0c\u8fd9\u65f6\uff0c\u6211\u4eec\u53ea\u9700\u8981\u5e16 ",(0,r.kt)("inlineCode",{parentName:"p"},"[NonUnify]")," \u7279\u6027\u5373\u53ef\u3002"),(0,r.kt)("h3",{id:"672-\u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e"},"6.7.2 \u89c4\u8303\u5316\u7ed3\u679c\u6dfb\u52a0\u989d\u5916\u6570\u636e"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u7684\u89c4\u8303\u5316\u7ed3\u679c\u4e2d\u5305\u542b ",(0,r.kt)("inlineCode",{parentName:"p"},"extras")," \u5c5e\u6027\uff0c\u53ef\u4ee5\u914d\u7f6e\u989d\u5916\u6570\u636e\u8fd4\u56de\u5230\u5ba2\u6237\u7aef\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'UnifyContext.Fill(new { Message = "\u64cd\u4f5c\u6210\u529f" });\n')),(0,r.kt)("h3",{id:"673-\u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c"},"6.7.3 \u81ea\u5b9a\u4e49\u7279\u522b\u63a5\u53e3\u89c4\u8303\u5316\u7ed3\u679c"),(0,r.kt)("p",null,"\u6709\u4e9b\u65f6\u5019\uff0c\u6211\u4eec\u7279\u5b9a\u63a5\u53e3\u9700\u8fd4\u56de\u7279\u5b9a\u7684\u63a5\u53e3\u7c7b\u578b\uff0c\u65e0\u9700\u89c4\u8303\u5316\u5904\u7406\uff0c\u8fd9\u65f6\u5019\u6211\u4eec\u53ea\u9700\u8981\u8d34 ",(0,r.kt)("inlineCode",{parentName:"p"},"[UnifyResult(typeof(\u7ed3\u679c\u7c7b))]")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"[ProducesResponseType(typeof(\u7ed3\u679c\u7c7b),200)]"),"\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},"[UnifyResult(typeof(Person))]\npublic Person GetPerson(int id)\n{\n // ...\n}\n")),(0,r.kt)("h2",{id:"68-\u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e"},"6.8 \u652f\u6301\u591a\u5957\u89c4\u8303\u5316\u914d\u7f6e"),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 4.4.4 +")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728\u4e00\u4e9b\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u53ef\u80fd\u9700\u8981\u9488\u5bf9\u7279\u5b9a\u7684\u63a7\u5236\u5668\uff08\u52a8\u6001 WebAPI\uff09\u6216\u7279\u5b9a\u7684\u65b9\u6cd5\u4f7f\u7528\u4e0d\u540c\u7684\u89c4\u8303\u5316\u5904\u7406\u673a\u5236\uff0c\u8fd9\u65f6\u5c31\u9700\u8981\u591a\u5957\u89c4\u8303\u5316\u5904\u7406\u63d0\u4f9b\u5668\uff0c\u5982\uff1a"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"\u5b9a\u4e49\u89c4\u8303\u5316\u5904\u7406\u63d0\u4f9b\u7a0b\u5e8f"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1-2,25}",showLineNumbers:!0,"{1-2,25}":!0},"[UnifyModel(typeof(MyResult<>))]\npublic class SpeciallyResultProvider : IUnifyResultProvider\n{\n public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n\n public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n\n public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n\n public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)\n {\n // \u53c2\u8003\u4e0a\u9762\u7684\u89c4\u8303\u5316\u5904\u7406\u5199\u6cd5\n }\n}\n\npublic class MyResult\n{\n /// \n /// \u6570\u636e\n /// \n public T Data { get; set; }\n}\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"\u6ce8\u518c\u89c4\u8303\u5316\u5904\u7406\u63d0\u4f9b\u5668"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers",showLineNumbers:!0},'services.AddUnifyProvider("specially"); // \u6307\u5b9a\u89c4\u8303\u5316\u552f\u4e00\u540d\u79f0\uff0c\u5982\u679c\u4e0d\u6307\u5b9a\u5c31\u4f1a\u66ff\u4ee3\u9ed8\u8ba4\u7684\n')),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"\u5728\u63a7\u5236\u5668/\u52a8\u6001 WebAPI \u4e2d\u4f7f\u7528"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3,8,14}",showLineNumbers:!0,"{3,8,14}":!0},'public class TestUnifyProvider : IDynamicApiController\n{\n public string DefaultUnify()\n {\n return "test";\n }\n\n [UnifyProvider]\n public string DefaultUnify2()\n {\n return "test";\n }\n\n [UnifyProvider("specially")]\n public string SpeciallyUnify()\n {\n return "\u7279\u522b";\n }\n}\n')),(0,r.kt)("h2",{id:"69-\u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879"},"6.9 \u9488\u5bf9\u7279\u5b9a\u63a7\u5236\u5668\u6216\u7279\u5b9a\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879"),(0,r.kt)("p",null,"\u5f88\u5c11\u5f00\u53d1\u8005\u6ce8\u610f\u5230 ",(0,r.kt)("inlineCode",{parentName:"p"},"new JsonResult(data)")," \u5b9e\u9645\u4e0a\u6709\u7b2c\u4e8c\u4e2a\u53c2\u6570\u7684\uff0c\u4e5f\u5c31\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"new JsonResult(data, serializerSettings)"),"\uff0c\u90a3\u4e48\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u903b\u8f91\u4f20\u9012\u7b2c\u4e8c\u4e2a\u53c2\u6570\uff0c\u5982\u679c\u4e0d\u4f20\u9012\u5219\u91c7\u7528\u5168\u5c40\u914d\u7f6e\u7684\u5e8f\u5217\u5316\u9009\u9879\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Furion")," \u6846\u67b6\u63d0\u4f9b\u4e24\u79cd\u5904\u7406\u65b9\u5f0f\u3002"),(0,r.kt)("h3",{id:"691-\u901a\u8fc7-jsonresult-\u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570"},"6.9.1 \u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"h3"},"JsonResult")," \u8bbe\u7f6e\u7b2c\u4e8c\u4e2a\u53c2\u6570"),(0,r.kt)("p",null,"\u8fd9\u79cd\u65b9\u5f0f\u6bd4\u8f83\u539f\u59cb\u5316\uff0c\u4ee3\u7801\u6bd4\u8f83\u7e41\u6742\uff0c\u4e5f\u4e0d\u5229\u4e8e\u7ef4\u62a4\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1,4,13-16}",showLineNumbers:!0,"{1,4,13-16}":!0},'[NonUnify]\npublic IActionResult SpecialApi()\n{\n return new JsonResult(new YourRESTfulResult\n {\n StatusCode = 200,\n Succeeded = true,\n Data = new\n {\n Name = "Furion"\n },\n Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()\n }, new JsonSerializerOptions\n {\n PropertyNamingPolicy = null\n });\n}\n')),(0,r.kt)("h3",{id:"692-\u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879-\u63a8\u8350"},"6.9.2 \u6ce8\u518c\u591a\u5957\u5e8f\u5217\u5316\u914d\u7f6e\u9009\u9879 ",(0,r.kt)("strong",{parentName:"h3"},"(\u63a8\u8350)")),(0,r.kt)("admonition",{title:"\u7248\u672c\u8bf4\u660e",type:"important"},(0,r.kt)("p",{parentName:"admonition"},"\u4ee5\u4e0b\u5185\u5bb9\u4ec5\u9650 ",(0,r.kt)("inlineCode",{parentName:"p"},"Furion 4.6.6 +")," \u7248\u672c\u4f7f\u7528\u3002")),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"Startup.cs")," \u4e2d\u6ce8\u518c\u4e00\u5957\u65b0\u7684\u89c4\u5219\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'services.AddUnifyJsonOptions("special", new JsonSerializerOptions // \u5982\u679c\u4f7f\u7528 Newtonsoft.Json => new JsonSerializerSettings\n{\n PropertyNamingPolicy = null\n});\n')),(0,r.kt)("p",null,"\u4ee3\u7801\u4f7f\u7528\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {1}",showLineNumbers:!0,"{1}":!0},'[UnifySerializerSetting("special")]\npublic object SpecialApi()\n{\n return new\n {\n Name = "Furion"\n }\n}\n')),(0,r.kt)("admonition",{title:"\u7279\u522b\u63d0\u9192",type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"\u76ee\u524d ",(0,r.kt)("inlineCode",{parentName:"p"},"Swagger")," \u6682\u672a\u63d0\u4f9b\u4e2a\u522b\u7684\u63a5\u53e3\u81ea\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"schema")," \u5e8f\u5217\u5316\u9009\u9879\u3002")),(0,r.kt)("h2",{id:"610-\u53cd\u9988\u4e0e\u5efa\u8bae"},"6.10 \u53cd\u9988\u4e0e\u5efa\u8bae"),(0,r.kt)("admonition",{title:"\u4e0e\u6211\u4eec\u4ea4\u6d41",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"\u7ed9 Furion \u63d0 ",(0,r.kt)("a",{parentName:"p",href:"https://gitee.com/dotnetchina/Furion/issues/new?issue"},"Issue"),"\u3002")))}N.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/handbook/build/assets/js/c4f5d8e4.3c00b3a9.js b/handbook/build/assets/js/c4f5d8e4.183eb143.js similarity index 99% rename from handbook/build/assets/js/c4f5d8e4.3c00b3a9.js rename to handbook/build/assets/js/c4f5d8e4.183eb143.js index b954460c65..3ac6f570a2 100644 --- a/handbook/build/assets/js/c4f5d8e4.3c00b3a9.js +++ b/handbook/build/assets/js/c4f5d8e4.183eb143.js @@ -1 +1 @@ -"use strict";(self.webpackChunkfurion=self.webpackChunkfurion||[]).push([[4195],{3808:function(e,t,l){l.r(t),l.d(t,{default:function(){return ie}});var a,n,r=l(3117),c=l(102),i=l(9960),o=l(2949),s=l(4996),m=l(2263),u=l(5822),h=l(1414),p=l(7294),g=[{url:"https://www.oschina.net/",text:"\u5f00\u6e90\u4e2d\u56fd",title:""},{url:"https://gitee.com/",text:"Gitee",title:""},{url:"https://gitee.com/dotnetchina",text:"dotNET China",title:""},{url:"https://github.com/sunkaixuan/SqlSugar",text:"SqlSugar",title:""},{url:"https://gitee.com/dotnetchina/SmartSQL/",text:"SmartSQL",title:""},{url:"http://www.thinkphp.cn/",text:"ThinkPHP",title:""},{url:"https://hutool.cn/",text:"Hutool",title:""},{url:"https://www.tiocloud.com/2/index.html",text:"t-io",title:""},{url:"https://gitee.com/monksoul/LayX",text:"Layx",title:""},{url:"https://gitee.com/dotnetchina/IoTSharp",text:"IoTSharp",title:""},{url:"https://www.eova.cn/",text:"Eova",title:""},{url:"http://www.pearadmin.com/",text:"PearAdmin",title:""},{url:"https://github.com/mengshukeji/Luckysheet",text:"Luckysheet",title:""},{url:"https://blog.lindexi.com/",text:"\u6797\u5fb7\u7199\u535a\u5ba2",title:""},{url:"http://www.easyson.com.cn",text:"\u6613\u80dc\u79d1\u6280",title:""},{url:"https://gitee.com/pig0224/ExamKing",text:"\u8003\u8bd5\u541b",title:""},{url:"https://gitee.com/veal98/Echo",text:"Echo",title:""},{url:"https://gitee.com/opencc/ccflow",text:"\u9a70\u9a8b\u5de5\u4f5c\u6d41",title:""},{url:"https://gitee.com/dotnetchina/weaving-socket",text:"weaving-socket",title:""},{url:"https://gitee.com/dotnetchina/SiMayRemoteMonitorOS",text:"SiMayRemoteMonitorOS",title:""},{url:"https://gitee.com/zuohuaijun/Admin.NET",text:"Admin.NET",title:""},{url:"https://gitee.com/dotnetchina/TouchSocket",text:"TouchSocket",title:""},{url:"https://gitee.com/dotnetchina/anno.core",text:"Anno.Core",title:""},{url:"https://gitee.com/dotnetchina/DBCHM",text:"DBCHM",title:""},{url:"https://gitee.com/dotnetchina/OpenAuth.Net",text:"OpenAuth.Net",title:""},{url:"https://dotnet9.com/",text:"Dotnet9",title:""},{url:"https://gitee.com/yhuse/SunnyUI",text:"SunnyUI",title:""},{url:"https://gitee.com/dotnetchina/MiniExcel",text:"MiniExcel",title:""},{url:"https://gitee.com/handyorg/HandyControl",text:"HandyControl",title:""},{url:"https://shopxo.net/",text:"ShopXO \u5f00\u6e90\u5546\u57ce",title:"ShopXO \u4f01\u4e1a\u7ea7\u514d\u8d39\u5f00\u6e90\u5546\u57ce"},{url:"https://gitee.com/ntdgg/tpflow",text:"tpflow",title:""},{url:"https://gitee.com/CoreUnion/CoreShop",text:"CoreShop",title:""},{url:"https://gitee.com/dromara/TLog",text:"TLog",title:""},{url:"https://gitee.com/dromara/liteFlow",text:"LiteFlow",title:""},{url:"http://www.layui-vue.com",text:"Layui Vue",title:"Layui - Vue \u5f00\u6e90\u524d\u7aef UI \u6846\u67b6"}],f=["title","titleId"];function d(){return d=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var v,y=function(e){var t=e.title,l=e.titleId,r=E(e,f);return p.createElement("svg",d({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},r),t?p.createElement("title",{id:l},t):null,a||(a=p.createElement("path",{d:"M944.9 471.64a141.947 141.947 0 0 0-105.047-9.506 139.64 139.64 0 0 0-56.784-88.959l-11.25-8.86-9.535 10.688a117.675 117.675 0 0 0-22.218 84.656 108.59 108.59 0 0 0 21.206 56.87 164.925 164.925 0 0 1-30.544 13.443 204.272 204.272 0 0 1-62.972 10.153H73.925l-1.266 13.303a248.428 248.428 0 0 0 20.897 129.375l8.128 16.116.928 1.519c55.829 92.193 167.204 139.95 274.05 139.95 206.888 0 364.191-98.747 442.575-288.479 52.37 2.672 105.947-12.403 131.57-61.003l6.524-12.403-12.431-6.975zM246.978 711.689a46.434 46.434 0 1 1 47.813-46.435 47.166 47.166 0 0 1-47.813 46.434z",fill:"#1296db"})),n||(n=p.createElement("path",{d:"M246.978 640.7a24.44 24.44 0 1 0 25.144 24.469 24.806 24.806 0 0 0-25.144-24.469M118.25 427.625h84.375V512H118.25zm112.5 0h84.375V512H230.75zm0-112.5h84.375V399.5H230.75zm112.5 0h84.375V399.5H343.25zm0 112.5h84.375V512H343.25zm112.5 0h84.375V512H455.75zm112.5 0h84.375V512H568.25zm-112.5-112.5h84.375V399.5H455.75zm0-112.5h84.375V287H455.75z",fill:"#1296db"})))},w=["title","titleId"];function b(){return b=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var N,O,k,j,M,S,z,I,F,C,T,A,D,H,Z=function(e){var t=e.title,l=e.titleId,a=x(e,w);return p.createElement("svg",b({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,v||(v=p.createElement("path",{d:"m444.65 600.125.262.375-37.462 90.487a193.912 193.912 0 0 1-77.813-97.387l96.676-16.388.15.188a16.5 16.5 0 0 1 18.15 22.725zm-31.238-79.838a16.5 16.5 0 0 0 6.488-28.35l.075-.412-73.537-65.775a192.863 192.863 0 0 0-27.375 122.063l94.275-27.188.074-.338zm42.938-74.25a16.5 16.5 0 0 0 26.213-12.637l.374-.188 5.625-98.25a192.9 192.9 0 0 0-112.874 54.076L456.2 446.15l.15-.075zm28.5 103.126 27.112 13.087 27.076-13.013 6.75-29.25-18.75-23.362h-30.15l-18.75 23.362 6.712 29.213zM541.1 433.1a16.5 16.5 0 0 0 26.25 12.6l.3.112 80.025-56.737A194.55 194.55 0 0 0 535.475 335l5.55 98.063.075.037zm407.85 223.875L732.462 926.263a60 60 0 0 1-46.8 22.275l-347.287.112a60 60 0 0 1-46.763-22.35l-216.6-269.25A59.362 59.362 0 0 1 63.5 606.8l77.25-335.813c4.05-17.625 15.937-32.4 32.362-40.237L485.938 81.238a60.225 60.225 0 0 1 51.937 0l312.937 149.437c16.425 7.838 28.313 22.65 32.363 40.238L960.5 606.725a59.041 59.041 0 0 1-11.55 50.25zm-123.338-77.138c-1.575-.375-3.862-.974-5.437-1.275-6.525-1.237-11.812-.937-17.963-1.425-13.124-1.387-23.924-2.512-33.562-5.55-3.937-1.5-6.75-6.187-8.1-8.1l-7.537-2.212a241.875 241.875 0 0 0-3.938-87.45 242.438 242.438 0 0 0-35.1-81.113c1.95-1.762 5.625-4.987 6.638-5.962.3-3.375.037-6.863 3.524-10.575 7.388-6.937 16.65-12.675 27.863-19.575 5.325-3.15 10.238-5.137 15.562-9.075 1.2-.9 2.85-2.325 4.126-3.337 9-7.163 11.062-19.5 4.612-27.6-6.45-8.1-18.975-8.85-27.937-1.688-1.276 1.013-3 2.325-4.163 3.3-5.025 4.35-8.138 8.625-12.375 13.125-9.225 9.375-16.875 17.175-25.238 22.838-3.637 2.1-8.962 1.387-11.362 1.237l-7.125 5.063a245.437 245.437 0 0 0-155.475-75.113l-.45-8.362c-2.437-2.325-5.362-4.313-6.112-9.376-.826-10.05.562-20.887 2.137-33.937.862-6.113 2.288-11.175 2.55-17.813.037-1.5-.038-3.712-.037-5.324 0-11.475-8.4-20.813-18.75-20.813-10.313 0-18.713 9.338-18.713 20.813l.037.525c0 1.537-.074 3.45 0 4.8.225 6.637 1.65 11.7 2.513 17.812 1.575 13.05 2.925 23.888 2.1 33.975a20.437 20.437 0 0 1-6.075 9.675l-.45 7.913A240.9 240.9 0 0 0 335.15 360.35a313.988 313.988 0 0 1-6.75-4.8c-3.375.45-6.75 1.5-11.137-1.088-8.363-5.625-16.013-13.425-25.238-22.8-4.237-4.5-7.313-8.774-12.337-13.087a100.912 100.912 0 0 0-4.163-3.3 22.275 22.275 0 0 0-13.05-4.95 18.038 18.038 0 0 0-14.925 6.6c-6.45 8.1-4.387 20.475 4.613 27.637l.262.188 3.9 3.113c5.325 3.937 10.2 5.962 15.525 9.074 11.213 6.938 20.475 12.675 27.863 19.575 2.85 3.076 3.375 8.476 3.75 10.8l6 5.363a242.325 242.325 0 0 0-38.25 168.975l-7.8 2.25c-2.063 2.7-4.988 6.9-8.063 8.137-9.637 3.038-20.475 4.125-33.562 5.513-6.15.525-11.438.225-18 1.462-1.388.263-3.375.75-4.988 1.125l-.15.076-.262.075c-11.063 2.662-18.15 12.825-15.863 22.8 2.288 10.012 13.088 16.087 24.188 13.687l.262-.037.375-.113 4.838-1.087c6.374-1.725 11.025-4.238 16.8-6.45 12.375-4.426 22.65-8.138 32.625-9.6 4.2-.338 8.625 2.587 10.8 3.787l8.137-1.387a243.75 243.75 0 0 0 108 134.85l-3.375 8.175c1.237 3.15 2.587 7.462 1.65 10.575-3.637 9.45-9.862 19.387-16.95 30.487-3.413 5.1-6.937 9.075-10.05 14.963-.75 1.387-1.687 3.562-2.4 5.025-4.8 10.312-1.275 22.162 7.988 26.624 9.3 4.5 20.85-.262 25.875-10.575v-.074c.75-1.463 1.725-3.375 2.324-4.763 2.626-6.075 3.526-11.288 5.4-17.175 4.95-12.45 7.688-25.5 14.513-33.637 1.875-2.25 4.875-3.076 8.063-3.938l4.237-7.688a241.988 241.988 0 0 0 172.838.45l3.974 7.2c3.225 1.05 6.75 1.575 9.6 5.813 5.1 8.7 8.588 19.013 12.826 31.5 1.874 5.85 2.774 11.063 5.437 17.137.6 1.388 1.613 3.375 2.325 4.838 4.988 10.35 16.575 15.075 25.875 10.575 9.263-4.425 12.787-16.313 7.988-26.625-.75-1.462-1.688-3.6-2.438-5.025-3.112-5.85-6.637-9.787-10.05-14.925-7.125-11.1-12.975-20.288-16.612-29.737-1.5-4.875.262-7.875 1.425-11.025-.675-.825-2.213-5.4-3.113-7.575a243.713 243.713 0 0 0 108-135.826c2.4.376 6.6 1.125 7.988 1.426 2.812-1.875 5.4-4.275 10.5-3.9 9.974 1.462 20.25 5.174 32.624 9.6 5.776 2.25 10.388 4.8 16.8 6.487 1.35.375 3.3.713 4.876 1.05l.337.113.262.037c11.138 2.4 21.9-3.675 24.188-13.688 2.25-9.974-4.8-20.137-15.863-22.8zM677 425.787l-73.125 65.475v.188a16.5 16.5 0 0 0 6.488 28.387l.112.376 94.725 27.3a194.963 194.963 0 0 0-4.05-62.776A195.3 195.3 0 0 0 677 425.75zM526.512 625.475a16.387 16.387 0 0 0-15.15-8.7 16.5 16.5 0 0 0-13.95 8.738h-.075l-47.55 85.95a193.65 193.65 0 0 0 124.725.112l-47.624-86.1h-.375zm70.8-48.488a16.5 16.5 0 0 0-10.124 1.35 16.5 16.5 0 0 0-8.025 21.45l-.113.15 37.875 91.426a193.125 193.125 0 0 0 78.038-98.063l-97.5-16.5-.15.187z",fill:"#0092ff"})))},P=["title","titleId"];function L(){return L=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var R,B=function(e){var t=e.title,l=e.titleId,a=V(e,P);return p.createElement("svg",L({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,N||(N=p.createElement("path",{d:"M524.375 217.906c-8.063 5.25-14.25 12.938-17.719 21.938-3.562 11.625-3 24 1.406 35.344A59.437 59.437 0 0 0 528.875 305a37.347 37.347 0 0 0 17.063 6.563c6.187.75 12.375-.282 17.906-3.094a35.218 35.218 0 0 0 14.906-16.219c3-6.938 4.688-14.344 4.875-21.844a73.847 73.847 0 0 0-3.563-28.219c-3.28-9.937-9.656-18.468-18.28-24.28-4.407-2.813-9.282-4.688-14.438-5.438a30.339 30.339 0 0 0-15.282 1.687 41.666 41.666 0 0 0-7.78 4.219",fill:"#FFF"})),O||(O=p.createElement("path",{d:"M791.563 600.594a395.632 395.632 0 0 0-22.313-77.438c-6.844-18.562-16.125-36.187-27.656-52.312-11.625-15.469-26.344-28.5-37.688-44.156-6-8.157-11.062-17.25-17.343-25.22-2.532-5.25-4.97-10.5-7.407-15.75-7.5-16.406-14.343-33.187-23.25-48.75-1.406-2.437-2.906-4.874-4.312-7.218-1.125-15-2.719-30-3.563-45a425.74 425.74 0 0 0-7.593-89.906c-3.938-14.156-9.938-27.75-17.813-40.125-9.188-14.625-21-27.375-34.875-37.594a134.301 134.301 0 0 0-77.25-24.75c-20.344-.469-40.5 4.125-58.594 13.5-19.031 10.406-34.406 26.438-44.062 45.844a153.998 153.998 0 0 0-14.063 62.344c-.75 21.187 1.219 42.187 2.063 63.375.844 21.937.375 43.968 2.156 65.906.563 7.031 1.406 14.062 1.406 21.187 0 3.563-.187 7.125-.281 10.594l-.281.75a450.215 450.215 0 0 1-31.688 46.781c-8.062 10.219-16.125 20.344-24.281 30.375-10.594 11.906-19.594 25.125-26.719 39.375-4.781 12.375-8.625 25.125-11.625 38.063l-.281 1.031a296.022 296.022 0 0 1-16.875 43.313 142.935 142.935 0 0 0-1.875 3.937c-4.031 8.344-8.25 16.688-12.656 24.844l-5.063 9.468a159.66 159.66 0 0 0-8.437 17.625c-1.406 3.657-2.531 7.407-3.188 11.25-1.219 8.157-.656 16.407 1.5 24.282.469 1.968 1.125 3.937 1.781 5.906 2.063 5.813 4.5 11.531 7.407 16.969 1.312 2.531 2.719 4.968 4.031 7.5l1.219 1.781a169.016 169.016 0 0 0 4.125 6.938l.187.28c1.594 2.626 3.375 5.157 5.063 7.688l.281.375c1.781 2.438 3.563 4.969 5.438 7.407 6.937 27.093 19.687 52.312 37.218 74.062-2.719 4.781-5.156 9.469-7.875 14.156A216.887 216.887 0 0 0 293 853.72c-2.531 8.062-3.188 16.593-1.781 24.937 1.312 8.438 5.625 16.032 12.187 21.563 4.406 3.375 9.469 5.718 14.813 6.843 5.344 1.125 10.875 1.688 16.406 1.407 20.813-1.594 41.438-5.719 61.313-12.094 12-3.188 24-6 36.187-8.438 12.656-2.906 25.5-4.687 38.438-5.25 3.187.094 6.375-.093 9.468-.28 8.813.937 17.625 1.312 26.531.937l3.282-.188c2.25.282 4.594.375 6.937.563a480.306 480.306 0 0 1 46.407 4.781c13.5 2.063 27 4.688 40.312 7.969 20.531 6.187 41.625 10.312 63.094 12.093 5.625.282 11.25-.187 16.875-1.312 5.531-1.125 10.781-3.563 15.281-6.938 6.563-5.437 10.875-13.03 12.281-21.468 1.407-8.344.75-16.875-1.781-24.938-6.188-15.656-14.156-30.562-23.906-44.343-3.375-5.72-6.563-11.625-9.938-17.344a307.557 307.557 0 0 0 38.157-52.969c6.562.375 13.03-.375 19.312-2.438a81.136 81.136 0 0 0 40.594-30.468c3-4.219 5.343-8.907 6.75-13.875a89.449 89.449 0 0 0 12.937-33.094c3-19.5 2.532-39.469-1.406-58.781h-.188zm0 0",fill:"#020204"})),k||(k=p.createElement("path",{d:"M431 335a32.58 32.58 0 0 0-6 12.75c-1.031 4.594-1.688 9.375-1.781 14.063.281 9.468-.469 18.937-2.344 28.218-3.281 9.656-8.25 18.563-14.625 26.531-10.969 13.782-19.594 29.25-25.5 45.75-3 10.22-4.031 20.907-2.906 31.594a337.236 337.236 0 0 0-29.344 53.156c-12.563 28.032-20.625 57.938-23.906 88.5-4.031 37.594 1.5 75.563 15.937 110.438a182.552 182.552 0 0 0 47.156 65.719c10.5 9.093 22.032 16.781 34.407 22.875 43.781 21.375 95.062 20.906 138.375-1.313a267.942 267.942 0 0 0 58.687-46.406c11.157-10.125 21.094-21.469 29.813-33.844 14.531-25.218 23.062-53.531 24.843-82.593 9-50.25 3.47-102-15.843-149.25-7.594-15.75-17.625-30.188-29.813-42.75a236.719 236.719 0 0 0-18.937-63.75c-6.75-14.532-14.907-28.407-21.188-43.313-2.531-6.094-4.781-12.281-7.593-18.188-2.72-6-6.47-11.53-11.063-16.218-4.969-4.594-10.875-8.063-17.344-10.031a71.82 71.82 0 0 0-19.875-3.375c-13.5-.657-27.093 1.03-40.406.562-10.781-.469-21.375-2.344-32.156-1.688-5.344.282-10.688 1.313-15.656 3.282A31.379 31.379 0 0 0 431 335.094m4.313-117.281c-5.063.375-9.844 2.53-13.5 6-3.657 3.468-6.375 7.875-7.875 12.656-2.532 9.75-3.188 19.969-1.782 30 .188 9.094 1.781 18.187 4.781 26.812 1.688 4.219 4.125 8.156 7.313 11.438 3.188 3.281 7.219 5.719 11.625 6.844a23.2 23.2 0 0 0 12.656-.47c4.031-1.312 7.781-3.562 10.781-6.562 4.407-4.5 7.594-10.031 9.188-16.031a64.942 64.942 0 0 0 2.156-18.563c0-7.78-1.219-15.562-3.562-23.062s-6.375-14.344-11.813-20.063c-2.625-2.718-5.625-5.062-9-6.75-3.469-1.593-7.219-2.437-10.969-2.25m89.063 0c-8.063 5.25-14.25 12.938-17.719 21.938-3.562 11.625-3 24 1.406 35.344a59.437 59.437 0 0 0 20.813 29.812 37.347 37.347 0 0 0 17.063 6.563c6.187.75 12.375-.281 17.906-3.094a35.218 35.218 0 0 0 14.906-16.219c3-6.937 4.688-14.344 4.875-21.844a73.847 73.847 0 0 0-3.563-28.218c-3.28-9.938-9.656-18.469-18.28-24.281-4.407-2.813-9.282-4.688-14.438-5.438a30.339 30.339 0 0 0-15.282 1.688 41.666 41.666 0 0 0-7.78 4.218",fill:"#FFF"})),j||(j=p.createElement("path",{d:"M542.469 241.625c-3 .188-5.813 1.125-8.344 2.719s-4.688 3.75-6.375 6.187a32.028 32.028 0 0 0-5.063 16.781c-.28 4.407.375 8.907 1.782 13.125s4.031 7.97 7.406 10.782a21.713 21.713 0 0 0 12.469 4.875c4.593.187 9.093-1.031 12.843-3.656 3-2.157 5.438-4.875 7.125-8.157 1.688-3.187 2.72-6.75 3.188-10.312.938-6.375-.188-12.938-3-18.656-2.906-5.813-7.875-10.22-13.875-12.563-2.625-1.031-5.344-1.406-8.156-1.313",fill:"#020204"})),M||(M=p.createElement("path",{d:"M435.313 217.906c-5.063.375-9.844 2.531-13.5 6-3.657 3.469-6.375 7.875-7.875 12.656-2.532 9.75-3.188 19.97-1.782 30 .188 9.094 1.781 18.188 4.781 26.813 1.688 4.313 4.125 8.156 7.313 11.438 3.188 3.28 7.219 5.718 11.625 6.843a23.2 23.2 0 0 0 12.656-.469c4.031-1.312 7.781-3.562 10.781-6.562 4.407-4.5 7.594-10.031 9.188-16.031a64.942 64.942 0 0 0 2.156-18.563c0-7.781-1.219-15.562-3.562-23.062s-6.375-14.344-11.813-20.063c-2.625-2.719-5.625-5.062-9-6.75-3.469-1.594-7.219-2.437-10.969-2.25",fill:"#FFF"})),S||(S=p.createElement("path",{d:"M423.219 259.625c-1.219 6.281-.938 12.844 1.031 18.938 1.5 4.03 3.75 7.687 6.75 10.78 1.875 2.063 4.031 3.844 6.563 5.063 2.53 1.313 5.343 1.688 8.156 1.031 2.531-.656 4.687-2.156 6.281-4.218 1.594-2.063 2.719-4.406 3.469-6.844 2.156-7.313 1.969-15.094-.375-22.406-1.5-5.344-4.406-10.219-8.531-13.875-1.97-1.688-4.407-3-6.938-3.656-2.625-.657-5.344-.47-7.875.656a13.685 13.685 0 0 0-6.094 6.094 26.075 26.075 0 0 0-2.531 8.343",fill:"#020204"})),z||(z=p.createElement("path",{d:"M411.313 338.469c.187.844.468 1.687.937 2.344a10.342 10.342 0 0 0 3.188 3.187c1.218.844 2.437 1.594 3.656 2.344 6.469 4.406 12.187 9.844 16.781 16.219C441.5 371.375 448.531 379.25 456.5 386c6.094 4.219 13.219 6.75 20.625 7.406 8.625.656 17.344-.375 25.688-3 7.687-2.25 15.093-5.437 22.03-9.656 11.907-9.563 24.657-18 38.157-25.031 3.188-1.125 6.375-1.969 9.375-3.375 3.094-1.313 5.719-3.563 7.313-6.563 1.03-3 1.687-6.187 1.78-9.375.47-3.375 1.595-6.656 2.157-10.031.75-3.375.469-6.844-.75-10.125a13.816 13.816 0 0 0-5.906-5.906c-2.532-1.219-5.344-1.969-8.157-2.063-5.718.188-11.343.75-16.875 1.688-7.5.656-15-.281-22.5 0-9.28.281-18.562 2.344-27.937 2.719-10.688.562-21.281-1.125-31.969-1.594-4.594-.281-9.281-.094-13.875.656-4.594.656-9 2.344-12.844 4.969-3.562 2.812-6.843 5.812-10.03 9a27.829 27.829 0 0 1-5.532 3.844c-2.063 1.03-4.219 1.593-6.563 1.5a10.766 10.766 0 0 0-3.468 0c-.656.28-1.313.656-1.781 1.125l-1.407 1.687c-.937 1.406-1.781 2.906-2.437 4.406",fill:"#D99A03"})),I||(I=p.createElement("path",{d:"M434.844 314.844c-3.75 2.25-7.406 4.687-11.063 7.219a14.568 14.568 0 0 0-4.781 4.78 10.16 10.16 0 0 0-.844 4.688 40.676 40.676 0 0 1 0 4.781c-.094 1.032-.469 2.157-.469 3.282 0 .562 0 1.125.188 1.594.188.562.375 1.03.75 1.406.469.469 1.125.844 1.875 1.031.656.188 1.406.281 2.156.469 3.281.937 6.281 2.719 8.719 5.062 2.531 2.25 4.781 4.875 7.5 7.031 7.5 5.625 16.594 8.532 25.875 8.438 9.281-.188 18.469-1.5 27.375-3.844 7.031-1.5 13.969-3.375 20.719-5.719 10.5-3.937 20.156-9.656 28.5-17.062a94.798 94.798 0 0 1 11.625-9.656c3.75-2.344 8.156-3.938 11.906-6.188.375-.187.656-.469 1.031-.656.282-.281.563-.563.75-.938a2.626 2.626 0 0 0 0-2.062c-.187-.656-.468-1.219-.843-1.688a12.797 12.797 0 0 0-1.594-1.593 26.443 26.443 0 0 0-14.813-5.156c-5.437-.375-10.593 0-15.843-1.032-4.875-1.031-9.657-2.437-14.344-4.125a103.68 103.68 0 0 0-15.282-3.656c-12.187-1.969-24.562-1.688-36.656.938-11.344 2.53-22.312 6.843-32.437 12.656",fill:"#604405"})),F||(F=p.createElement("path",{d:"M433.625 302.094c-5.438 3.656-10.313 8.156-14.531 13.219a31.347 31.347 0 0 0-5.719 9.656c-.844 2.812-1.406 5.719-1.875 8.625-.281 1.031-.469 2.156-.469 3.281 0 .563.094 1.125.281 1.594a3.53 3.53 0 0 0 .844 1.406c.656.656 1.5 1.031 2.438 1.219.844.187 1.781.187 2.719.281 4.125.656 7.968 2.344 11.343 4.781 3.375 2.344 6.563 5.063 10.031 7.313 7.875 4.687 16.875 7.219 26.063 7.406 9.188.188 18.281-.75 27.188-2.719a118.662 118.662 0 0 0 21-5.906 125.554 125.554 0 0 0 28.5-17.063c4.03-3 7.968-6.187 11.625-9.656 1.218-1.219 2.437-2.437 3.75-3.562a13.827 13.827 0 0 1 4.406-2.531c2.531-.657 5.156-.75 7.781-.094 1.875.469 3.844.656 5.813.656 1.03 0 1.968-.188 2.906-.469.937-.375 1.781-.937 2.343-1.687.844-1.031 1.22-2.25 1.22-3.563s-.376-2.531-1.032-3.656c-1.406-2.156-3.563-3.844-5.906-4.781-3.282-1.313-6.657-2.344-10.125-3a142.883 142.883 0 0 1-30.657-11.156c-4.875-2.438-9.468-5.063-14.343-7.594-4.875-2.719-9.938-5.063-15.188-6.75-12.094-3.281-24.937-2.719-36.656 1.687-13.125 4.594-24.844 12.563-33.844 23.156",fill:"#F5BD0C"})),C||(C=p.createElement("path",{d:"M494.656 287.188c.656 2.156 4.031 1.78 6 2.718 1.969.938 3.094 2.719 4.969 2.906 1.969.188 4.688-.656 4.969-2.437.375-2.438-3.188-3.938-5.438-4.781-3-1.406-6.375-1.5-9.375-.188-.656.281-1.312 1.125-1.125 1.781zm-32.25-1.125c-2.531-.844-6.656 3.562-5.437 5.906.375.656 1.5 1.406 2.25 1.031s2.156-2.906 3.375-3.75c.937-.75.75-2.906-.188-3.188zm0 0",fill:"#CD8907"})),T||(T=p.createElement("path",{d:"M864.219 809.938c-1.875 4.875-4.594 9.375-7.969 13.406-7.875 8.437-17.438 15.187-27.938 19.875-17.812 8.25-35.156 17.437-52.03 27.468a215.954 215.954 0 0 0-30.657 24.75c-7.781 8.157-16.125 15.657-24.938 22.688-9.187 6.75-19.78 11.344-31.03 13.125-13.782 1.781-27.75-.375-40.407-6.094-9.094-3.468-16.969-9.562-22.5-17.625-4.688-8.625-6.844-18.281-6.375-28.031a293.704 293.704 0 0 1 6.188-51.094c2.437-14.062 4.875-28.125 6.375-42.281 2.625-25.875 2.906-51.844.937-77.719a60.554 60.554 0 0 1 0-13.031c.563-8.813 7.969-15.563 16.875-15.469 4.031-.093 8.063.282 12 1.032 9.375 1.125 18.75 2.718 27.938 4.875 5.718 1.5 11.437 3.562 17.156 5.156 9.562 2.812 19.687 3.656 29.625 2.718 10.406-2.437 21-4.03 31.687-4.968 4.407.187 8.813.937 12.938 2.25 4.312 1.218 8.343 3.375 11.625 6.468 2.343 2.532 4.218 5.438 5.437 8.625 1.782 4.782 2.907 9.75 3.282 14.813.187 4.5.562 9 1.125 13.5 1.593 7.219 5.062 13.969 9.937 19.594 4.969 5.437 10.313 10.5 16.125 15a173.108 173.108 0 0 0 17.438 13.5c2.906 1.968 5.812 3.75 8.53 5.906 2.813 2.063 5.157 4.688 6.938 7.688 2.25 4.125 3 8.906 1.875 13.5",fill:"#F5BD0C"})),A||(A=p.createElement("path",{d:"M864.219 809.938c-1.875 4.875-4.594 9.375-7.969 13.406-7.875 8.437-17.438 15.187-27.938 19.875-17.812 8.25-35.156 17.437-52.03 27.468a215.954 215.954 0 0 0-30.657 24.75c-7.781 8.157-16.125 15.657-24.938 22.688-9.187 6.75-19.78 11.344-31.03 13.125-13.782 1.781-27.75-.375-40.407-6.094-9.094-3.468-16.969-9.562-22.5-17.625-4.688-8.625-6.844-18.281-6.375-28.031a293.704 293.704 0 0 1 6.188-51.094c2.437-14.062 4.875-28.125 6.375-42.281 2.625-25.875 2.906-51.844.937-77.719a60.554 60.554 0 0 1 0-13.031c.563-8.813 7.969-15.563 16.875-15.469 4.031-.093 8.063.282 12 1.032 9.375 1.125 18.75 2.718 27.938 4.875 5.718 1.5 11.437 3.562 17.156 5.156 9.562 2.812 19.687 3.656 29.625 2.718 10.406-2.437 21-4.03 31.687-4.968 4.407.187 8.813.937 12.938 2.25 4.312 1.218 8.343 3.375 11.625 6.468 2.343 2.532 4.218 5.438 5.437 8.625 1.782 4.782 2.907 9.75 3.282 14.813.187 4.5.562 9 1.125 13.5 1.593 7.219 5.062 13.969 9.937 19.594 4.969 5.437 10.313 10.5 16.125 15a173.108 173.108 0 0 0 17.438 13.5c2.906 1.968 5.812 3.75 8.53 5.906 2.813 2.063 5.157 4.688 6.938 7.688 2.25 4.125 3 8.906 1.875 13.5M275.188 666.03a26.145 26.145 0 0 1 14.437-1.312 35.242 35.242 0 0 1 13.5 5.718c7.781 5.907 14.531 13.22 19.875 21.375 13.219 18.188 25.875 36.75 37.406 56.063 9.375 15.656 17.906 31.781 28.688 46.5 7.031 9.563 15 18.469 22.125 28.031 7.406 9.375 13.031 20.063 16.5 31.407 4.125 15.093 2.437 31.125-4.594 45.093-5.063 9.75-12.656 17.907-21.938 23.532-9.375 5.625-20.156 8.437-31.125 8.156-17.25-2.344-33.937-7.594-49.312-15.563-32.719-13.031-68.25-17.156-102-27.281-10.406-3.094-20.531-6.844-31.031-9.656-4.688-1.125-9.281-2.532-13.781-4.407-4.407-1.875-8.25-5.062-10.782-9.093a20.743 20.743 0 0 1-2.719-10.782c.094-3.75.844-7.406 2.157-10.78 2.531-7.032 6.656-13.313 9.375-20.25a84.632 84.632 0 0 0 4.687-35.813c-.562-12.094-2.719-24.188-3.375-36.282a58.715 58.715 0 0 1 .563-16.218c1.406-10.688 9.75-19.219 20.531-20.813 4.969-.843 9.938-1.218 14.906-.937 4.969.281 10.031.281 15 0 4.969-.282 9.938-1.688 14.344-4.032 4.031-2.437 7.594-5.812 10.313-9.75a124.125 124.125 0 0 0 7.406-12.187c2.25-4.219 4.781-8.156 7.781-11.906 2.813-3.844 6.656-6.75 11.063-8.813",fill:"#F5BD0C"})),D||(D=p.createElement("path",{d:"M275.188 666.125a26.145 26.145 0 0 1 14.437-1.313 35.242 35.242 0 0 1 13.5 5.72c7.781 5.905 14.531 13.218 19.875 21.374 13.219 18.188 25.875 36.75 37.406 56.063 9.375 15.656 17.906 31.781 28.688 46.5 7.031 9.562 15 18.468 22.125 28.031 7.406 9.375 13.031 20.063 16.5 31.406 4.125 15.094 2.437 31.125-4.594 45.094-5.063 9.75-12.656 17.906-21.938 23.531-9.375 5.625-20.156 8.438-31.125 8.157-17.25-2.344-33.937-7.594-49.312-15.563-32.719-13.031-68.25-17.156-102-27.281-10.406-3.094-20.531-6.844-31.031-9.657-4.688-1.125-9.281-2.53-13.781-4.406-4.407-1.875-8.25-5.062-10.782-9.093a20.743 20.743 0 0 1-2.719-10.782c.094-3.75.844-7.406 2.157-10.781 2.531-7.031 6.656-13.313 9.375-20.25a84.632 84.632 0 0 0 4.687-35.813c-.562-12.093-2.719-24.093-3.375-36.28a58.715 58.715 0 0 1 .563-16.22c1.406-10.687 9.75-19.218 20.531-20.812 4.969-.844 9.938-1.219 14.906-.938 4.969.282 10.031.282 15 0 4.969-.28 9.938-1.687 14.344-4.03 4.031-2.438 7.594-5.813 10.313-9.75a124.125 124.125 0 0 0 7.406-12.188c2.25-4.219 4.781-8.157 7.781-11.907 2.813-3.843 6.656-6.843 11.063-8.812",fill:"#F5BD0C"})),H||(H=p.createElement("path",{d:"M282.406 674c4.125-1.594 8.719-1.875 13.031-.844s8.344 3 11.813 5.813c6.656 5.812 12.281 12.75 16.5 20.531 11.25 18.188 22.219 36.563 32.438 55.313a370.55 370.55 0 0 0 24.937 41.437c6.375 8.625 13.688 16.5 20.25 24.938 6.844 8.343 12 17.812 15.188 28.03 3.75 13.407 2.156 27.75-4.22 40.22-4.687 8.812-11.718 16.218-20.343 21.187a51.593 51.593 0 0 1-28.5 7.031 163.06 163.06 0 0 1-45.188-13.968c-28.5-10.407-59.53-11.72-88.78-19.875-10.5-2.813-20.72-6.657-31.313-9.282-4.688-1.031-9.375-2.343-13.875-4.031-4.5-1.688-8.438-4.875-11.063-8.906-1.687-3.188-2.531-6.75-2.344-10.313a33.95 33.95 0 0 1 2.25-10.5c2.532-6.656 6.563-12.75 9.094-19.406 3.563-10.313 4.781-21.188 3.656-32.063-.75-10.78-2.718-21.468-3.28-32.343-.376-4.782-.188-9.657.655-14.438.844-4.781 3.094-9.187 6.47-12.75 3.937-3.562 8.812-5.906 14.062-6.562 5.25-.657 10.5-.657 15.656 0 5.25.656 10.5.843 15.75.75 10.313 0 19.688-6 24.094-15.375a98.75 98.75 0 0 0 5.531-13.032c1.594-4.5 3.75-8.718 6.281-12.75 2.625-4.03 6.375-7.218 10.781-9.093",fill:"#F5BD0C"})))},_=["title","titleId"];function U(){return U=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var X,q=function(e){var t=e.title,l=e.titleId,a=G(e,_);return p.createElement("svg",U({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,R||(R=p.createElement("path",{d:"M878.3 721.7c-1.35 3.6-18.9 65.25-62.1 128.25-37.8 54.9-76.5 109.8-137.7 110.7-60.3.9-79.65-36-148.5-36s-90.45 35.1-147.6 36.9c-58.95 2.25-104.4-59.85-142.2-114.3C163.25 736.55 103.85 531.8 183.5 395c39.15-68.4 109.8-112.05 186.3-113.4 57.6-.9 112.95 39.15 148.05 39.15 36 0 102.6-48.6 172.8-41.4 29.25 1.35 111.6 12.15 164.25 89.1-4.05 2.7-98.1 58.5-97.2 171.45.9 136.35 119.25 181.35 120.6 181.8m-234-515.25c31.5-38.7 52.65-91.8 46.8-144.45-45 1.8-100.35 30.15-132.75 68.4-28.8 33.3-54.45 87.3-47.25 139.5 49.95 2.7 101.7-26.55 133.2-63.45",fill:"#fff"})))},Q=["title","titleId"];function W(){return W=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var $=function(e){var t=e.title,l=e.titleId,a=K(e,Q);return p.createElement("svg",W({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,X||(X=p.createElement("path",{d:"M459.5 485.75V182.094l-314.906 67.5V485.75H459.5zm52.5 0h367.313V92.187L512 170.938V485.75zm-52.5 52.5H144.687v236.156l314.907 67.5V538.25zm52.5 0v314.906l367.313 78.75V538.25H512z",fill:"#00adef"})))},J=["children","className"];function Y(){return p.createElement("div",{className:"furion-banner"},p.createElement("div",{className:"furion-banner-container"},p.createElement("div",{className:"furion-banner-item"},p.createElement("div",{className:"furion-banner-project"},"Furion"," ",p.createElement("span",{style:{fontSize:14,fontWeight:"normal",color:"#8759ff"}},"[fu:r\u026a\u0259n]")),p.createElement("div",{style:{color:"#82aaff",position:"relative",fontSize:14}},"\u60a8\u7684\u75db\u70b9\uff0cFurion \u5df2\u9605\u5df2\u5386\uff1bFurion \u7684\u60ca\u559c\uff0c\u60a8\u4e14\u6162\u6162\u4eab\u53d7\u3002"),p.createElement("div",{className:"furion-banner-description"},"\u8ba9 .NET \u5f00\u53d1\u66f4\u7b80\u5355\uff0c\u66f4\u901a\u7528\uff0c\u66f4\u6d41\u884c\u3002"),p.createElement("ul",{className:"furion-banner-spec"},p.createElement("li",null,"MIT \u5f00\u6e90\u534f\u8bae\uff0c\u5546\u4e1a\u65e0\u9700\u6388\u6743"),p.createElement("li",null,"\u652f\u6301 .NET5+ \u5e73\u53f0\uff0c\u6ca1\u6709\u5386\u53f2\u5305\u88b1"),p.createElement("li",null,"\u6781\u5c11\u4f9d\u8d56\uff0c\u53ea\u4f9d\u8d56\u4e24\u4e2a\u7b2c\u4e09\u65b9\u5305"),p.createElement("li",null,"\u6781\u901f\u4e0a\u624b\uff0c\u4e00\u4e2a Inject() \u5b8c\u6210\u914d\u7f6e"),p.createElement("li",null,"\u4ee3\u7801\u65e0\u4fb5\u5165\u6027\uff0c100% \u517c\u5bb9\u539f\u751f\u5199\u6cd5")),p.createElement("div",{className:"furion-support-platform"},"\u53d7\u652f\u6301\u5e73\u53f0\uff1a"),p.createElement("div",{className:"furion-support-icons"},p.createElement("span",null,p.createElement($,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(B,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(q,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(y,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(Z,{height:"39",width:"39"}))),p.createElement("div",{className:"furion-get-start-btn"},p.createElement(i.Z,{className:"furion-get-start",to:(0,s.Z)("docs/serverun")},"\u5165\u95e8\u6307\u5357",p.createElement("span",{className:"furion-version"},"v4.6.6")),p.createElement(i.Z,{className:"furion-try-demo",to:"https://replit.com/@MonkSoul/HelloFurion?v=1#Program.cs"},"\u4e91\u4e0a\u4f53\u9a8c"))),p.createElement("div",{className:"furion-banner-item"},p.createElement(ne,{style:{float:"right"}},p.createElement(ae,{language:"cs",source:'\n// highlight-next-line\nServe.Run();\n\npublic class FurionAppService : IDynamicApiController\n{\n private readonly IRepository _userRepository;\n // highlight-next-line\n public FurionAppService(IRepository userRepository)\n {\n _userRepository = userRepository;\n }\n\n // highlight-next-line\n [IfException(1000, ErrorMessage = "\u7528\u6237ID: {0} \u4e0d\u5b58\u5728")]\n public async Task GetUser([Range(1, int.MaxValue)] int userId)\n {\n var user = await _userRepository.FindOrDefaultAsync(userId);\n // highlight-next-line\n _ = user ?? throw Oops.Oh(1000, userId);\n return user.Adapt();\n }\n\n public async Task GetRemote(string id)\n {\n // highlight-next-line\n var data = await $"https://www.furion.icu/data?id={id}".GetAsAsync();\n return data;\n }\n}\n'})))))}function ee(){var e=(0,o.I)(),t=e.colorMode,l=(e.setLightTheme,e.setDarkTheme,"dark"===t);return p.createElement("div",{className:"furion-content"},p.createElement("p",{className:"furion-small-title"+(l?" dark":"")},"\u5f00\u6e90\u514d\u8d39/\u5546\u4e1a\u65e0\u9700\u6388\u6743"),p.createElement("h1",{className:"furion-big-title"+(l?" dark":"")},"\u2b50\ufe0f MIT \u5f00\u6e90\u534f\u8bae\uff0c\u4ee3\u7801\u5728 Gitee/Github \u5e73\u53f0\u6258\u7ba1 \u2b50\ufe0f"),p.createElement("div",{className:"furion-gitee-log"},p.createElement("div",{className:"furion-log-item",style:{border:"6px solid #723cff"}},p.createElement("div",{className:"furion-log-jiao"+(l?" dark":"")}),p.createElement("div",{className:"furion-log-number"},p.createElement("div",{style:{color:"#723cff"}},"10000 +"),p.createElement("span",{className:l?" dark":""},"Stars"))),p.createElement("div",{className:"furion-log-item",style:{border:"6px solid #3fbbfe"}},p.createElement("div",{className:"furion-log-jiao"+(l?" dark":"")}),p.createElement("div",{className:"furion-log-number"},p.createElement("div",{style:{color:"#3fbbfe"}},"4000 +"),p.createElement("span",{className:l?" dark":""},"Forks"))),p.createElement("div",{className:"furion-log-item",style:{border:"6px solid #1fd898"}},p.createElement("div",{className:"furion-log-jiao"+(l?" dark":"")}),p.createElement("div",{className:"furion-log-number"},p.createElement("div",{style:{color:"#1fd898"}},"3,850,805"),p.createElement("span",{className:l?" dark":""},"Downloads")))))}function te(){return p.createElement("div",{className:"furion-whouse"},p.createElement("div",{className:"furion-who-custom"},p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"https://gitee.com/dotnetchina",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/chinadotnet.png"),id:"dotnet-china"}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom1.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom2.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom3.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom4.jpg"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.hezongsoft.net",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom5.png"),height:"100",style:{height:100}}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.dilon.vip/",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom6.png"),height:"100",style:{height:100}}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/c10.jpg"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/jjd.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.samfeng.cn/",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom10.png"),height:"100",style:{height:100}}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.ketaisoft.com/",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom11.png"),height:"100",style:{height:100}})))),p.createElement("div",{className:"furion-who-des"},p.createElement("div",{style:{maxWidth:350}},p.createElement("div",null),p.createElement("h1",null,"\u4ed6\u4eec\u90fd\u5728\u7528"),p.createElement("p",null,"Furion \u5df2\u5728\u5168\u7403\u8d85\u8fc7377\u4e07\u4e2a\u9879\u76ee\u4e2d\u4f7f\u7528\u3002\u4ece\u5c0f\u578b\u4f01\u4e1a\u5230\u4f01\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\u53ca\u77e5\u540d\u4f01\u4e1a\u3002\u4ed6\u4eec\u5728\u7b80\u5355\u8f6f\u4ef6\u548c\u590d\u6742\u7ba1\u7406\u7cfb\u7edf\u7684\u5f00\u53d1\u65b9\u9762\u90fd\u4fe1\u4efb\u6211\u4eec\u3002"),p.createElement("a",{className:"furion-get-start",href:"https://github.com/MonkSoul/Furion/issues/154",target:"_blank"},"\u7acb\u5373\u6dfb\u52a0\u60a8\u7684\u516c\u53f8"))))}function le(){var e=(0,o.I)(),t=e.colorMode,l=(e.setLightTheme,e.setDarkTheme,"dark"===t);return p.createElement("div",{className:"furion-links"},p.createElement("p",{className:"furion-small-title"+(l?" dark":"")},"\u53cb\u60c5\u94fe\u63a5"),p.createElement("h1",{className:"furion-big-title"+(l?" dark":"")},"\u5b83\u4eec\u4e00\u6837\u662f\u4f18\u79c0\u7684\u9879\u76ee/\u7f51\u7ad9"),p.createElement("div",{className:"furion-links-content"},g.map((function(e,t){return p.createElement("a",{href:e.url,key:t,target:"_blank",title:e.title},e.text)}))))}function ae(e){var t=e.language,l=e.replace,a=(e.section,e.source);if(a=a.replace(/\/\/ <.*?\n/g,""),l)for(var n=0,r=Object.entries(l);n=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var v,y=function(e){var t=e.title,l=e.titleId,r=E(e,f);return p.createElement("svg",d({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},r),t?p.createElement("title",{id:l},t):null,a||(a=p.createElement("path",{d:"M944.9 471.64a141.947 141.947 0 0 0-105.047-9.506 139.64 139.64 0 0 0-56.784-88.959l-11.25-8.86-9.535 10.688a117.675 117.675 0 0 0-22.218 84.656 108.59 108.59 0 0 0 21.206 56.87 164.925 164.925 0 0 1-30.544 13.443 204.272 204.272 0 0 1-62.972 10.153H73.925l-1.266 13.303a248.428 248.428 0 0 0 20.897 129.375l8.128 16.116.928 1.519c55.829 92.193 167.204 139.95 274.05 139.95 206.888 0 364.191-98.747 442.575-288.479 52.37 2.672 105.947-12.403 131.57-61.003l6.524-12.403-12.431-6.975zM246.978 711.689a46.434 46.434 0 1 1 47.813-46.435 47.166 47.166 0 0 1-47.813 46.434z",fill:"#1296db"})),n||(n=p.createElement("path",{d:"M246.978 640.7a24.44 24.44 0 1 0 25.144 24.469 24.806 24.806 0 0 0-25.144-24.469M118.25 427.625h84.375V512H118.25zm112.5 0h84.375V512H230.75zm0-112.5h84.375V399.5H230.75zm112.5 0h84.375V399.5H343.25zm0 112.5h84.375V512H343.25zm112.5 0h84.375V512H455.75zm112.5 0h84.375V512H568.25zm-112.5-112.5h84.375V399.5H455.75zm0-112.5h84.375V287H455.75z",fill:"#1296db"})))},w=["title","titleId"];function b(){return b=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var N,O,k,j,M,S,z,I,F,C,T,A,D,H,Z=function(e){var t=e.title,l=e.titleId,a=x(e,w);return p.createElement("svg",b({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,v||(v=p.createElement("path",{d:"m444.65 600.125.262.375-37.462 90.487a193.912 193.912 0 0 1-77.813-97.387l96.676-16.388.15.188a16.5 16.5 0 0 1 18.15 22.725zm-31.238-79.838a16.5 16.5 0 0 0 6.488-28.35l.075-.412-73.537-65.775a192.863 192.863 0 0 0-27.375 122.063l94.275-27.188.074-.338zm42.938-74.25a16.5 16.5 0 0 0 26.213-12.637l.374-.188 5.625-98.25a192.9 192.9 0 0 0-112.874 54.076L456.2 446.15l.15-.075zm28.5 103.126 27.112 13.087 27.076-13.013 6.75-29.25-18.75-23.362h-30.15l-18.75 23.362 6.712 29.213zM541.1 433.1a16.5 16.5 0 0 0 26.25 12.6l.3.112 80.025-56.737A194.55 194.55 0 0 0 535.475 335l5.55 98.063.075.037zm407.85 223.875L732.462 926.263a60 60 0 0 1-46.8 22.275l-347.287.112a60 60 0 0 1-46.763-22.35l-216.6-269.25A59.362 59.362 0 0 1 63.5 606.8l77.25-335.813c4.05-17.625 15.937-32.4 32.362-40.237L485.938 81.238a60.225 60.225 0 0 1 51.937 0l312.937 149.437c16.425 7.838 28.313 22.65 32.363 40.238L960.5 606.725a59.041 59.041 0 0 1-11.55 50.25zm-123.338-77.138c-1.575-.375-3.862-.974-5.437-1.275-6.525-1.237-11.812-.937-17.963-1.425-13.124-1.387-23.924-2.512-33.562-5.55-3.937-1.5-6.75-6.187-8.1-8.1l-7.537-2.212a241.875 241.875 0 0 0-3.938-87.45 242.438 242.438 0 0 0-35.1-81.113c1.95-1.762 5.625-4.987 6.638-5.962.3-3.375.037-6.863 3.524-10.575 7.388-6.937 16.65-12.675 27.863-19.575 5.325-3.15 10.238-5.137 15.562-9.075 1.2-.9 2.85-2.325 4.126-3.337 9-7.163 11.062-19.5 4.612-27.6-6.45-8.1-18.975-8.85-27.937-1.688-1.276 1.013-3 2.325-4.163 3.3-5.025 4.35-8.138 8.625-12.375 13.125-9.225 9.375-16.875 17.175-25.238 22.838-3.637 2.1-8.962 1.387-11.362 1.237l-7.125 5.063a245.437 245.437 0 0 0-155.475-75.113l-.45-8.362c-2.437-2.325-5.362-4.313-6.112-9.376-.826-10.05.562-20.887 2.137-33.937.862-6.113 2.288-11.175 2.55-17.813.037-1.5-.038-3.712-.037-5.324 0-11.475-8.4-20.813-18.75-20.813-10.313 0-18.713 9.338-18.713 20.813l.037.525c0 1.537-.074 3.45 0 4.8.225 6.637 1.65 11.7 2.513 17.812 1.575 13.05 2.925 23.888 2.1 33.975a20.437 20.437 0 0 1-6.075 9.675l-.45 7.913A240.9 240.9 0 0 0 335.15 360.35a313.988 313.988 0 0 1-6.75-4.8c-3.375.45-6.75 1.5-11.137-1.088-8.363-5.625-16.013-13.425-25.238-22.8-4.237-4.5-7.313-8.774-12.337-13.087a100.912 100.912 0 0 0-4.163-3.3 22.275 22.275 0 0 0-13.05-4.95 18.038 18.038 0 0 0-14.925 6.6c-6.45 8.1-4.387 20.475 4.613 27.637l.262.188 3.9 3.113c5.325 3.937 10.2 5.962 15.525 9.074 11.213 6.938 20.475 12.675 27.863 19.575 2.85 3.076 3.375 8.476 3.75 10.8l6 5.363a242.325 242.325 0 0 0-38.25 168.975l-7.8 2.25c-2.063 2.7-4.988 6.9-8.063 8.137-9.637 3.038-20.475 4.125-33.562 5.513-6.15.525-11.438.225-18 1.462-1.388.263-3.375.75-4.988 1.125l-.15.076-.262.075c-11.063 2.662-18.15 12.825-15.863 22.8 2.288 10.012 13.088 16.087 24.188 13.687l.262-.037.375-.113 4.838-1.087c6.374-1.725 11.025-4.238 16.8-6.45 12.375-4.426 22.65-8.138 32.625-9.6 4.2-.338 8.625 2.587 10.8 3.787l8.137-1.387a243.75 243.75 0 0 0 108 134.85l-3.375 8.175c1.237 3.15 2.587 7.462 1.65 10.575-3.637 9.45-9.862 19.387-16.95 30.487-3.413 5.1-6.937 9.075-10.05 14.963-.75 1.387-1.687 3.562-2.4 5.025-4.8 10.312-1.275 22.162 7.988 26.624 9.3 4.5 20.85-.262 25.875-10.575v-.074c.75-1.463 1.725-3.375 2.324-4.763 2.626-6.075 3.526-11.288 5.4-17.175 4.95-12.45 7.688-25.5 14.513-33.637 1.875-2.25 4.875-3.076 8.063-3.938l4.237-7.688a241.988 241.988 0 0 0 172.838.45l3.974 7.2c3.225 1.05 6.75 1.575 9.6 5.813 5.1 8.7 8.588 19.013 12.826 31.5 1.874 5.85 2.774 11.063 5.437 17.137.6 1.388 1.613 3.375 2.325 4.838 4.988 10.35 16.575 15.075 25.875 10.575 9.263-4.425 12.787-16.313 7.988-26.625-.75-1.462-1.688-3.6-2.438-5.025-3.112-5.85-6.637-9.787-10.05-14.925-7.125-11.1-12.975-20.288-16.612-29.737-1.5-4.875.262-7.875 1.425-11.025-.675-.825-2.213-5.4-3.113-7.575a243.713 243.713 0 0 0 108-135.826c2.4.376 6.6 1.125 7.988 1.426 2.812-1.875 5.4-4.275 10.5-3.9 9.974 1.462 20.25 5.174 32.624 9.6 5.776 2.25 10.388 4.8 16.8 6.487 1.35.375 3.3.713 4.876 1.05l.337.113.262.037c11.138 2.4 21.9-3.675 24.188-13.688 2.25-9.974-4.8-20.137-15.863-22.8zM677 425.787l-73.125 65.475v.188a16.5 16.5 0 0 0 6.488 28.387l.112.376 94.725 27.3a194.963 194.963 0 0 0-4.05-62.776A195.3 195.3 0 0 0 677 425.75zM526.512 625.475a16.387 16.387 0 0 0-15.15-8.7 16.5 16.5 0 0 0-13.95 8.738h-.075l-47.55 85.95a193.65 193.65 0 0 0 124.725.112l-47.624-86.1h-.375zm70.8-48.488a16.5 16.5 0 0 0-10.124 1.35 16.5 16.5 0 0 0-8.025 21.45l-.113.15 37.875 91.426a193.125 193.125 0 0 0 78.038-98.063l-97.5-16.5-.15.187z",fill:"#0092ff"})))},P=["title","titleId"];function L(){return L=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var R,B=function(e){var t=e.title,l=e.titleId,a=V(e,P);return p.createElement("svg",L({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,N||(N=p.createElement("path",{d:"M524.375 217.906c-8.063 5.25-14.25 12.938-17.719 21.938-3.562 11.625-3 24 1.406 35.344A59.437 59.437 0 0 0 528.875 305a37.347 37.347 0 0 0 17.063 6.563c6.187.75 12.375-.282 17.906-3.094a35.218 35.218 0 0 0 14.906-16.219c3-6.938 4.688-14.344 4.875-21.844a73.847 73.847 0 0 0-3.563-28.219c-3.28-9.937-9.656-18.468-18.28-24.28-4.407-2.813-9.282-4.688-14.438-5.438a30.339 30.339 0 0 0-15.282 1.687 41.666 41.666 0 0 0-7.78 4.219",fill:"#FFF"})),O||(O=p.createElement("path",{d:"M791.563 600.594a395.632 395.632 0 0 0-22.313-77.438c-6.844-18.562-16.125-36.187-27.656-52.312-11.625-15.469-26.344-28.5-37.688-44.156-6-8.157-11.062-17.25-17.343-25.22-2.532-5.25-4.97-10.5-7.407-15.75-7.5-16.406-14.343-33.187-23.25-48.75-1.406-2.437-2.906-4.874-4.312-7.218-1.125-15-2.719-30-3.563-45a425.74 425.74 0 0 0-7.593-89.906c-3.938-14.156-9.938-27.75-17.813-40.125-9.188-14.625-21-27.375-34.875-37.594a134.301 134.301 0 0 0-77.25-24.75c-20.344-.469-40.5 4.125-58.594 13.5-19.031 10.406-34.406 26.438-44.062 45.844a153.998 153.998 0 0 0-14.063 62.344c-.75 21.187 1.219 42.187 2.063 63.375.844 21.937.375 43.968 2.156 65.906.563 7.031 1.406 14.062 1.406 21.187 0 3.563-.187 7.125-.281 10.594l-.281.75a450.215 450.215 0 0 1-31.688 46.781c-8.062 10.219-16.125 20.344-24.281 30.375-10.594 11.906-19.594 25.125-26.719 39.375-4.781 12.375-8.625 25.125-11.625 38.063l-.281 1.031a296.022 296.022 0 0 1-16.875 43.313 142.935 142.935 0 0 0-1.875 3.937c-4.031 8.344-8.25 16.688-12.656 24.844l-5.063 9.468a159.66 159.66 0 0 0-8.437 17.625c-1.406 3.657-2.531 7.407-3.188 11.25-1.219 8.157-.656 16.407 1.5 24.282.469 1.968 1.125 3.937 1.781 5.906 2.063 5.813 4.5 11.531 7.407 16.969 1.312 2.531 2.719 4.968 4.031 7.5l1.219 1.781a169.016 169.016 0 0 0 4.125 6.938l.187.28c1.594 2.626 3.375 5.157 5.063 7.688l.281.375c1.781 2.438 3.563 4.969 5.438 7.407 6.937 27.093 19.687 52.312 37.218 74.062-2.719 4.781-5.156 9.469-7.875 14.156A216.887 216.887 0 0 0 293 853.72c-2.531 8.062-3.188 16.593-1.781 24.937 1.312 8.438 5.625 16.032 12.187 21.563 4.406 3.375 9.469 5.718 14.813 6.843 5.344 1.125 10.875 1.688 16.406 1.407 20.813-1.594 41.438-5.719 61.313-12.094 12-3.188 24-6 36.187-8.438 12.656-2.906 25.5-4.687 38.438-5.25 3.187.094 6.375-.093 9.468-.28 8.813.937 17.625 1.312 26.531.937l3.282-.188c2.25.282 4.594.375 6.937.563a480.306 480.306 0 0 1 46.407 4.781c13.5 2.063 27 4.688 40.312 7.969 20.531 6.187 41.625 10.312 63.094 12.093 5.625.282 11.25-.187 16.875-1.312 5.531-1.125 10.781-3.563 15.281-6.938 6.563-5.437 10.875-13.03 12.281-21.468 1.407-8.344.75-16.875-1.781-24.938-6.188-15.656-14.156-30.562-23.906-44.343-3.375-5.72-6.563-11.625-9.938-17.344a307.557 307.557 0 0 0 38.157-52.969c6.562.375 13.03-.375 19.312-2.438a81.136 81.136 0 0 0 40.594-30.468c3-4.219 5.343-8.907 6.75-13.875a89.449 89.449 0 0 0 12.937-33.094c3-19.5 2.532-39.469-1.406-58.781h-.188zm0 0",fill:"#020204"})),k||(k=p.createElement("path",{d:"M431 335a32.58 32.58 0 0 0-6 12.75c-1.031 4.594-1.688 9.375-1.781 14.063.281 9.468-.469 18.937-2.344 28.218-3.281 9.656-8.25 18.563-14.625 26.531-10.969 13.782-19.594 29.25-25.5 45.75-3 10.22-4.031 20.907-2.906 31.594a337.236 337.236 0 0 0-29.344 53.156c-12.563 28.032-20.625 57.938-23.906 88.5-4.031 37.594 1.5 75.563 15.937 110.438a182.552 182.552 0 0 0 47.156 65.719c10.5 9.093 22.032 16.781 34.407 22.875 43.781 21.375 95.062 20.906 138.375-1.313a267.942 267.942 0 0 0 58.687-46.406c11.157-10.125 21.094-21.469 29.813-33.844 14.531-25.218 23.062-53.531 24.843-82.593 9-50.25 3.47-102-15.843-149.25-7.594-15.75-17.625-30.188-29.813-42.75a236.719 236.719 0 0 0-18.937-63.75c-6.75-14.532-14.907-28.407-21.188-43.313-2.531-6.094-4.781-12.281-7.593-18.188-2.72-6-6.47-11.53-11.063-16.218-4.969-4.594-10.875-8.063-17.344-10.031a71.82 71.82 0 0 0-19.875-3.375c-13.5-.657-27.093 1.03-40.406.562-10.781-.469-21.375-2.344-32.156-1.688-5.344.282-10.688 1.313-15.656 3.282A31.379 31.379 0 0 0 431 335.094m4.313-117.281c-5.063.375-9.844 2.53-13.5 6-3.657 3.468-6.375 7.875-7.875 12.656-2.532 9.75-3.188 19.969-1.782 30 .188 9.094 1.781 18.187 4.781 26.812 1.688 4.219 4.125 8.156 7.313 11.438 3.188 3.281 7.219 5.719 11.625 6.844a23.2 23.2 0 0 0 12.656-.47c4.031-1.312 7.781-3.562 10.781-6.562 4.407-4.5 7.594-10.031 9.188-16.031a64.942 64.942 0 0 0 2.156-18.563c0-7.78-1.219-15.562-3.562-23.062s-6.375-14.344-11.813-20.063c-2.625-2.718-5.625-5.062-9-6.75-3.469-1.593-7.219-2.437-10.969-2.25m89.063 0c-8.063 5.25-14.25 12.938-17.719 21.938-3.562 11.625-3 24 1.406 35.344a59.437 59.437 0 0 0 20.813 29.812 37.347 37.347 0 0 0 17.063 6.563c6.187.75 12.375-.281 17.906-3.094a35.218 35.218 0 0 0 14.906-16.219c3-6.937 4.688-14.344 4.875-21.844a73.847 73.847 0 0 0-3.563-28.218c-3.28-9.938-9.656-18.469-18.28-24.281-4.407-2.813-9.282-4.688-14.438-5.438a30.339 30.339 0 0 0-15.282 1.688 41.666 41.666 0 0 0-7.78 4.218",fill:"#FFF"})),j||(j=p.createElement("path",{d:"M542.469 241.625c-3 .188-5.813 1.125-8.344 2.719s-4.688 3.75-6.375 6.187a32.028 32.028 0 0 0-5.063 16.781c-.28 4.407.375 8.907 1.782 13.125s4.031 7.97 7.406 10.782a21.713 21.713 0 0 0 12.469 4.875c4.593.187 9.093-1.031 12.843-3.656 3-2.157 5.438-4.875 7.125-8.157 1.688-3.187 2.72-6.75 3.188-10.312.938-6.375-.188-12.938-3-18.656-2.906-5.813-7.875-10.22-13.875-12.563-2.625-1.031-5.344-1.406-8.156-1.313",fill:"#020204"})),M||(M=p.createElement("path",{d:"M435.313 217.906c-5.063.375-9.844 2.531-13.5 6-3.657 3.469-6.375 7.875-7.875 12.656-2.532 9.75-3.188 19.97-1.782 30 .188 9.094 1.781 18.188 4.781 26.813 1.688 4.313 4.125 8.156 7.313 11.438 3.188 3.28 7.219 5.718 11.625 6.843a23.2 23.2 0 0 0 12.656-.469c4.031-1.312 7.781-3.562 10.781-6.562 4.407-4.5 7.594-10.031 9.188-16.031a64.942 64.942 0 0 0 2.156-18.563c0-7.781-1.219-15.562-3.562-23.062s-6.375-14.344-11.813-20.063c-2.625-2.719-5.625-5.062-9-6.75-3.469-1.594-7.219-2.437-10.969-2.25",fill:"#FFF"})),S||(S=p.createElement("path",{d:"M423.219 259.625c-1.219 6.281-.938 12.844 1.031 18.938 1.5 4.03 3.75 7.687 6.75 10.78 1.875 2.063 4.031 3.844 6.563 5.063 2.53 1.313 5.343 1.688 8.156 1.031 2.531-.656 4.687-2.156 6.281-4.218 1.594-2.063 2.719-4.406 3.469-6.844 2.156-7.313 1.969-15.094-.375-22.406-1.5-5.344-4.406-10.219-8.531-13.875-1.97-1.688-4.407-3-6.938-3.656-2.625-.657-5.344-.47-7.875.656a13.685 13.685 0 0 0-6.094 6.094 26.075 26.075 0 0 0-2.531 8.343",fill:"#020204"})),z||(z=p.createElement("path",{d:"M411.313 338.469c.187.844.468 1.687.937 2.344a10.342 10.342 0 0 0 3.188 3.187c1.218.844 2.437 1.594 3.656 2.344 6.469 4.406 12.187 9.844 16.781 16.219C441.5 371.375 448.531 379.25 456.5 386c6.094 4.219 13.219 6.75 20.625 7.406 8.625.656 17.344-.375 25.688-3 7.687-2.25 15.093-5.437 22.03-9.656 11.907-9.563 24.657-18 38.157-25.031 3.188-1.125 6.375-1.969 9.375-3.375 3.094-1.313 5.719-3.563 7.313-6.563 1.03-3 1.687-6.187 1.78-9.375.47-3.375 1.595-6.656 2.157-10.031.75-3.375.469-6.844-.75-10.125a13.816 13.816 0 0 0-5.906-5.906c-2.532-1.219-5.344-1.969-8.157-2.063-5.718.188-11.343.75-16.875 1.688-7.5.656-15-.281-22.5 0-9.28.281-18.562 2.344-27.937 2.719-10.688.562-21.281-1.125-31.969-1.594-4.594-.281-9.281-.094-13.875.656-4.594.656-9 2.344-12.844 4.969-3.562 2.812-6.843 5.812-10.03 9a27.829 27.829 0 0 1-5.532 3.844c-2.063 1.03-4.219 1.593-6.563 1.5a10.766 10.766 0 0 0-3.468 0c-.656.28-1.313.656-1.781 1.125l-1.407 1.687c-.937 1.406-1.781 2.906-2.437 4.406",fill:"#D99A03"})),I||(I=p.createElement("path",{d:"M434.844 314.844c-3.75 2.25-7.406 4.687-11.063 7.219a14.568 14.568 0 0 0-4.781 4.78 10.16 10.16 0 0 0-.844 4.688 40.676 40.676 0 0 1 0 4.781c-.094 1.032-.469 2.157-.469 3.282 0 .562 0 1.125.188 1.594.188.562.375 1.03.75 1.406.469.469 1.125.844 1.875 1.031.656.188 1.406.281 2.156.469 3.281.937 6.281 2.719 8.719 5.062 2.531 2.25 4.781 4.875 7.5 7.031 7.5 5.625 16.594 8.532 25.875 8.438 9.281-.188 18.469-1.5 27.375-3.844 7.031-1.5 13.969-3.375 20.719-5.719 10.5-3.937 20.156-9.656 28.5-17.062a94.798 94.798 0 0 1 11.625-9.656c3.75-2.344 8.156-3.938 11.906-6.188.375-.187.656-.469 1.031-.656.282-.281.563-.563.75-.938a2.626 2.626 0 0 0 0-2.062c-.187-.656-.468-1.219-.843-1.688a12.797 12.797 0 0 0-1.594-1.593 26.443 26.443 0 0 0-14.813-5.156c-5.437-.375-10.593 0-15.843-1.032-4.875-1.031-9.657-2.437-14.344-4.125a103.68 103.68 0 0 0-15.282-3.656c-12.187-1.969-24.562-1.688-36.656.938-11.344 2.53-22.312 6.843-32.437 12.656",fill:"#604405"})),F||(F=p.createElement("path",{d:"M433.625 302.094c-5.438 3.656-10.313 8.156-14.531 13.219a31.347 31.347 0 0 0-5.719 9.656c-.844 2.812-1.406 5.719-1.875 8.625-.281 1.031-.469 2.156-.469 3.281 0 .563.094 1.125.281 1.594a3.53 3.53 0 0 0 .844 1.406c.656.656 1.5 1.031 2.438 1.219.844.187 1.781.187 2.719.281 4.125.656 7.968 2.344 11.343 4.781 3.375 2.344 6.563 5.063 10.031 7.313 7.875 4.687 16.875 7.219 26.063 7.406 9.188.188 18.281-.75 27.188-2.719a118.662 118.662 0 0 0 21-5.906 125.554 125.554 0 0 0 28.5-17.063c4.03-3 7.968-6.187 11.625-9.656 1.218-1.219 2.437-2.437 3.75-3.562a13.827 13.827 0 0 1 4.406-2.531c2.531-.657 5.156-.75 7.781-.094 1.875.469 3.844.656 5.813.656 1.03 0 1.968-.188 2.906-.469.937-.375 1.781-.937 2.343-1.687.844-1.031 1.22-2.25 1.22-3.563s-.376-2.531-1.032-3.656c-1.406-2.156-3.563-3.844-5.906-4.781-3.282-1.313-6.657-2.344-10.125-3a142.883 142.883 0 0 1-30.657-11.156c-4.875-2.438-9.468-5.063-14.343-7.594-4.875-2.719-9.938-5.063-15.188-6.75-12.094-3.281-24.937-2.719-36.656 1.687-13.125 4.594-24.844 12.563-33.844 23.156",fill:"#F5BD0C"})),C||(C=p.createElement("path",{d:"M494.656 287.188c.656 2.156 4.031 1.78 6 2.718 1.969.938 3.094 2.719 4.969 2.906 1.969.188 4.688-.656 4.969-2.437.375-2.438-3.188-3.938-5.438-4.781-3-1.406-6.375-1.5-9.375-.188-.656.281-1.312 1.125-1.125 1.781zm-32.25-1.125c-2.531-.844-6.656 3.562-5.437 5.906.375.656 1.5 1.406 2.25 1.031s2.156-2.906 3.375-3.75c.937-.75.75-2.906-.188-3.188zm0 0",fill:"#CD8907"})),T||(T=p.createElement("path",{d:"M864.219 809.938c-1.875 4.875-4.594 9.375-7.969 13.406-7.875 8.437-17.438 15.187-27.938 19.875-17.812 8.25-35.156 17.437-52.03 27.468a215.954 215.954 0 0 0-30.657 24.75c-7.781 8.157-16.125 15.657-24.938 22.688-9.187 6.75-19.78 11.344-31.03 13.125-13.782 1.781-27.75-.375-40.407-6.094-9.094-3.468-16.969-9.562-22.5-17.625-4.688-8.625-6.844-18.281-6.375-28.031a293.704 293.704 0 0 1 6.188-51.094c2.437-14.062 4.875-28.125 6.375-42.281 2.625-25.875 2.906-51.844.937-77.719a60.554 60.554 0 0 1 0-13.031c.563-8.813 7.969-15.563 16.875-15.469 4.031-.093 8.063.282 12 1.032 9.375 1.125 18.75 2.718 27.938 4.875 5.718 1.5 11.437 3.562 17.156 5.156 9.562 2.812 19.687 3.656 29.625 2.718 10.406-2.437 21-4.03 31.687-4.968 4.407.187 8.813.937 12.938 2.25 4.312 1.218 8.343 3.375 11.625 6.468 2.343 2.532 4.218 5.438 5.437 8.625 1.782 4.782 2.907 9.75 3.282 14.813.187 4.5.562 9 1.125 13.5 1.593 7.219 5.062 13.969 9.937 19.594 4.969 5.437 10.313 10.5 16.125 15a173.108 173.108 0 0 0 17.438 13.5c2.906 1.968 5.812 3.75 8.53 5.906 2.813 2.063 5.157 4.688 6.938 7.688 2.25 4.125 3 8.906 1.875 13.5",fill:"#F5BD0C"})),A||(A=p.createElement("path",{d:"M864.219 809.938c-1.875 4.875-4.594 9.375-7.969 13.406-7.875 8.437-17.438 15.187-27.938 19.875-17.812 8.25-35.156 17.437-52.03 27.468a215.954 215.954 0 0 0-30.657 24.75c-7.781 8.157-16.125 15.657-24.938 22.688-9.187 6.75-19.78 11.344-31.03 13.125-13.782 1.781-27.75-.375-40.407-6.094-9.094-3.468-16.969-9.562-22.5-17.625-4.688-8.625-6.844-18.281-6.375-28.031a293.704 293.704 0 0 1 6.188-51.094c2.437-14.062 4.875-28.125 6.375-42.281 2.625-25.875 2.906-51.844.937-77.719a60.554 60.554 0 0 1 0-13.031c.563-8.813 7.969-15.563 16.875-15.469 4.031-.093 8.063.282 12 1.032 9.375 1.125 18.75 2.718 27.938 4.875 5.718 1.5 11.437 3.562 17.156 5.156 9.562 2.812 19.687 3.656 29.625 2.718 10.406-2.437 21-4.03 31.687-4.968 4.407.187 8.813.937 12.938 2.25 4.312 1.218 8.343 3.375 11.625 6.468 2.343 2.532 4.218 5.438 5.437 8.625 1.782 4.782 2.907 9.75 3.282 14.813.187 4.5.562 9 1.125 13.5 1.593 7.219 5.062 13.969 9.937 19.594 4.969 5.437 10.313 10.5 16.125 15a173.108 173.108 0 0 0 17.438 13.5c2.906 1.968 5.812 3.75 8.53 5.906 2.813 2.063 5.157 4.688 6.938 7.688 2.25 4.125 3 8.906 1.875 13.5M275.188 666.03a26.145 26.145 0 0 1 14.437-1.312 35.242 35.242 0 0 1 13.5 5.718c7.781 5.907 14.531 13.22 19.875 21.375 13.219 18.188 25.875 36.75 37.406 56.063 9.375 15.656 17.906 31.781 28.688 46.5 7.031 9.563 15 18.469 22.125 28.031 7.406 9.375 13.031 20.063 16.5 31.407 4.125 15.093 2.437 31.125-4.594 45.093-5.063 9.75-12.656 17.907-21.938 23.532-9.375 5.625-20.156 8.437-31.125 8.156-17.25-2.344-33.937-7.594-49.312-15.563-32.719-13.031-68.25-17.156-102-27.281-10.406-3.094-20.531-6.844-31.031-9.656-4.688-1.125-9.281-2.532-13.781-4.407-4.407-1.875-8.25-5.062-10.782-9.093a20.743 20.743 0 0 1-2.719-10.782c.094-3.75.844-7.406 2.157-10.78 2.531-7.032 6.656-13.313 9.375-20.25a84.632 84.632 0 0 0 4.687-35.813c-.562-12.094-2.719-24.188-3.375-36.282a58.715 58.715 0 0 1 .563-16.218c1.406-10.688 9.75-19.219 20.531-20.813 4.969-.843 9.938-1.218 14.906-.937 4.969.281 10.031.281 15 0 4.969-.282 9.938-1.688 14.344-4.032 4.031-2.437 7.594-5.812 10.313-9.75a124.125 124.125 0 0 0 7.406-12.187c2.25-4.219 4.781-8.156 7.781-11.906 2.813-3.844 6.656-6.75 11.063-8.813",fill:"#F5BD0C"})),D||(D=p.createElement("path",{d:"M275.188 666.125a26.145 26.145 0 0 1 14.437-1.313 35.242 35.242 0 0 1 13.5 5.72c7.781 5.905 14.531 13.218 19.875 21.374 13.219 18.188 25.875 36.75 37.406 56.063 9.375 15.656 17.906 31.781 28.688 46.5 7.031 9.562 15 18.468 22.125 28.031 7.406 9.375 13.031 20.063 16.5 31.406 4.125 15.094 2.437 31.125-4.594 45.094-5.063 9.75-12.656 17.906-21.938 23.531-9.375 5.625-20.156 8.438-31.125 8.157-17.25-2.344-33.937-7.594-49.312-15.563-32.719-13.031-68.25-17.156-102-27.281-10.406-3.094-20.531-6.844-31.031-9.657-4.688-1.125-9.281-2.53-13.781-4.406-4.407-1.875-8.25-5.062-10.782-9.093a20.743 20.743 0 0 1-2.719-10.782c.094-3.75.844-7.406 2.157-10.781 2.531-7.031 6.656-13.313 9.375-20.25a84.632 84.632 0 0 0 4.687-35.813c-.562-12.093-2.719-24.093-3.375-36.28a58.715 58.715 0 0 1 .563-16.22c1.406-10.687 9.75-19.218 20.531-20.812 4.969-.844 9.938-1.219 14.906-.938 4.969.282 10.031.282 15 0 4.969-.28 9.938-1.687 14.344-4.03 4.031-2.438 7.594-5.813 10.313-9.75a124.125 124.125 0 0 0 7.406-12.188c2.25-4.219 4.781-8.157 7.781-11.907 2.813-3.843 6.656-6.843 11.063-8.812",fill:"#F5BD0C"})),H||(H=p.createElement("path",{d:"M282.406 674c4.125-1.594 8.719-1.875 13.031-.844s8.344 3 11.813 5.813c6.656 5.812 12.281 12.75 16.5 20.531 11.25 18.188 22.219 36.563 32.438 55.313a370.55 370.55 0 0 0 24.937 41.437c6.375 8.625 13.688 16.5 20.25 24.938 6.844 8.343 12 17.812 15.188 28.03 3.75 13.407 2.156 27.75-4.22 40.22-4.687 8.812-11.718 16.218-20.343 21.187a51.593 51.593 0 0 1-28.5 7.031 163.06 163.06 0 0 1-45.188-13.968c-28.5-10.407-59.53-11.72-88.78-19.875-10.5-2.813-20.72-6.657-31.313-9.282-4.688-1.031-9.375-2.343-13.875-4.031-4.5-1.688-8.438-4.875-11.063-8.906-1.687-3.188-2.531-6.75-2.344-10.313a33.95 33.95 0 0 1 2.25-10.5c2.532-6.656 6.563-12.75 9.094-19.406 3.563-10.313 4.781-21.188 3.656-32.063-.75-10.78-2.718-21.468-3.28-32.343-.376-4.782-.188-9.657.655-14.438.844-4.781 3.094-9.187 6.47-12.75 3.937-3.562 8.812-5.906 14.062-6.562 5.25-.657 10.5-.657 15.656 0 5.25.656 10.5.843 15.75.75 10.313 0 19.688-6 24.094-15.375a98.75 98.75 0 0 0 5.531-13.032c1.594-4.5 3.75-8.718 6.281-12.75 2.625-4.03 6.375-7.218 10.781-9.093",fill:"#F5BD0C"})))},_=["title","titleId"];function U(){return U=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var X,q=function(e){var t=e.title,l=e.titleId,a=G(e,_);return p.createElement("svg",U({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,R||(R=p.createElement("path",{d:"M878.3 721.7c-1.35 3.6-18.9 65.25-62.1 128.25-37.8 54.9-76.5 109.8-137.7 110.7-60.3.9-79.65-36-148.5-36s-90.45 35.1-147.6 36.9c-58.95 2.25-104.4-59.85-142.2-114.3C163.25 736.55 103.85 531.8 183.5 395c39.15-68.4 109.8-112.05 186.3-113.4 57.6-.9 112.95 39.15 148.05 39.15 36 0 102.6-48.6 172.8-41.4 29.25 1.35 111.6 12.15 164.25 89.1-4.05 2.7-98.1 58.5-97.2 171.45.9 136.35 119.25 181.35 120.6 181.8m-234-515.25c31.5-38.7 52.65-91.8 46.8-144.45-45 1.8-100.35 30.15-132.75 68.4-28.8 33.3-54.45 87.3-47.25 139.5 49.95 2.7 101.7-26.55 133.2-63.45",fill:"#fff"})))},Q=["title","titleId"];function W(){return W=Object.assign||function(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var $=function(e){var t=e.title,l=e.titleId,a=K(e,Q);return p.createElement("svg",W({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":l},a),t?p.createElement("title",{id:l},t):null,X||(X=p.createElement("path",{d:"M459.5 485.75V182.094l-314.906 67.5V485.75H459.5zm52.5 0h367.313V92.187L512 170.938V485.75zm-52.5 52.5H144.687v236.156l314.907 67.5V538.25zm52.5 0v314.906l367.313 78.75V538.25H512z",fill:"#00adef"})))},J=["children","className"];function Y(){return p.createElement("div",{className:"furion-banner"},p.createElement("div",{className:"furion-banner-container"},p.createElement("div",{className:"furion-banner-item"},p.createElement("div",{className:"furion-banner-project"},"Furion"," ",p.createElement("span",{style:{fontSize:14,fontWeight:"normal",color:"#8759ff"}},"[fu:r\u026a\u0259n]")),p.createElement("div",{style:{color:"#82aaff",position:"relative",fontSize:14}},"\u60a8\u7684\u75db\u70b9\uff0cFurion \u5df2\u9605\u5df2\u5386\uff1bFurion \u7684\u60ca\u559c\uff0c\u60a8\u4e14\u6162\u6162\u4eab\u53d7\u3002"),p.createElement("div",{className:"furion-banner-description"},"\u8ba9 .NET \u5f00\u53d1\u66f4\u7b80\u5355\uff0c\u66f4\u901a\u7528\uff0c\u66f4\u6d41\u884c\u3002"),p.createElement("ul",{className:"furion-banner-spec"},p.createElement("li",null,"MIT \u5f00\u6e90\u534f\u8bae\uff0c\u5546\u4e1a\u65e0\u9700\u6388\u6743"),p.createElement("li",null,"\u652f\u6301 .NET5+ \u5e73\u53f0\uff0c\u6ca1\u6709\u5386\u53f2\u5305\u88b1"),p.createElement("li",null,"\u6781\u5c11\u4f9d\u8d56\uff0c\u53ea\u4f9d\u8d56\u4e24\u4e2a\u7b2c\u4e09\u65b9\u5305"),p.createElement("li",null,"\u6781\u901f\u4e0a\u624b\uff0c\u4e00\u4e2a Inject() \u5b8c\u6210\u914d\u7f6e"),p.createElement("li",null,"\u4ee3\u7801\u65e0\u4fb5\u5165\u6027\uff0c100% \u517c\u5bb9\u539f\u751f\u5199\u6cd5")),p.createElement("div",{className:"furion-support-platform"},"\u53d7\u652f\u6301\u5e73\u53f0\uff1a"),p.createElement("div",{className:"furion-support-icons"},p.createElement("span",null,p.createElement($,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(B,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(q,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(y,{height:"39",width:"39"})),p.createElement("span",null,p.createElement(Z,{height:"39",width:"39"}))),p.createElement("div",{className:"furion-get-start-btn"},p.createElement(i.Z,{className:"furion-get-start",to:(0,s.Z)("docs/serverun")},"\u5165\u95e8\u6307\u5357",p.createElement("span",{className:"furion-version"},"v4.6.7")),p.createElement(i.Z,{className:"furion-try-demo",to:"https://replit.com/@MonkSoul/HelloFurion?v=1#Program.cs"},"\u4e91\u4e0a\u4f53\u9a8c"))),p.createElement("div",{className:"furion-banner-item"},p.createElement(ne,{style:{float:"right"}},p.createElement(ae,{language:"cs",source:'\n// highlight-next-line\nServe.Run();\n\npublic class FurionAppService : IDynamicApiController\n{\n private readonly IRepository _userRepository;\n // highlight-next-line\n public FurionAppService(IRepository userRepository)\n {\n _userRepository = userRepository;\n }\n\n // highlight-next-line\n [IfException(1000, ErrorMessage = "\u7528\u6237ID: {0} \u4e0d\u5b58\u5728")]\n public async Task GetUser([Range(1, int.MaxValue)] int userId)\n {\n var user = await _userRepository.FindOrDefaultAsync(userId);\n // highlight-next-line\n _ = user ?? throw Oops.Oh(1000, userId);\n return user.Adapt();\n }\n\n public async Task GetRemote(string id)\n {\n // highlight-next-line\n var data = await $"https://www.furion.icu/data?id={id}".GetAsAsync();\n return data;\n }\n}\n'})))))}function ee(){var e=(0,o.I)(),t=e.colorMode,l=(e.setLightTheme,e.setDarkTheme,"dark"===t);return p.createElement("div",{className:"furion-content"},p.createElement("p",{className:"furion-small-title"+(l?" dark":"")},"\u5f00\u6e90\u514d\u8d39/\u5546\u4e1a\u65e0\u9700\u6388\u6743"),p.createElement("h1",{className:"furion-big-title"+(l?" dark":"")},"\u2b50\ufe0f MIT \u5f00\u6e90\u534f\u8bae\uff0c\u4ee3\u7801\u5728 Gitee/Github \u5e73\u53f0\u6258\u7ba1 \u2b50\ufe0f"),p.createElement("div",{className:"furion-gitee-log"},p.createElement("div",{className:"furion-log-item",style:{border:"6px solid #723cff"}},p.createElement("div",{className:"furion-log-jiao"+(l?" dark":"")}),p.createElement("div",{className:"furion-log-number"},p.createElement("div",{style:{color:"#723cff"}},"10000 +"),p.createElement("span",{className:l?" dark":""},"Stars"))),p.createElement("div",{className:"furion-log-item",style:{border:"6px solid #3fbbfe"}},p.createElement("div",{className:"furion-log-jiao"+(l?" dark":"")}),p.createElement("div",{className:"furion-log-number"},p.createElement("div",{style:{color:"#3fbbfe"}},"4000 +"),p.createElement("span",{className:l?" dark":""},"Forks"))),p.createElement("div",{className:"furion-log-item",style:{border:"6px solid #1fd898"}},p.createElement("div",{className:"furion-log-jiao"+(l?" dark":"")}),p.createElement("div",{className:"furion-log-number"},p.createElement("div",{style:{color:"#1fd898"}},"3,858,557"),p.createElement("span",{className:l?" dark":""},"Downloads")))))}function te(){return p.createElement("div",{className:"furion-whouse"},p.createElement("div",{className:"furion-who-custom"},p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"https://gitee.com/dotnetchina",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/chinadotnet.png"),id:"dotnet-china"}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom1.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom2.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom3.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/custom4.jpg"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.hezongsoft.net",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom5.png"),height:"100",style:{height:100}}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.dilon.vip/",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom6.png"),height:"100",style:{height:100}}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/c10.jpg"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("img",{src:(0,s.Z)("img/jjd.png"),height:"100",style:{height:100}})),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.samfeng.cn/",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom10.png"),height:"100",style:{height:100}}))),p.createElement("div",{className:"furion-custom-img"},p.createElement("a",{href:"http://www.ketaisoft.com/",target:"_blank"},p.createElement("img",{src:(0,s.Z)("img/custom11.png"),height:"100",style:{height:100}})))),p.createElement("div",{className:"furion-who-des"},p.createElement("div",{style:{maxWidth:350}},p.createElement("div",null),p.createElement("h1",null,"\u4ed6\u4eec\u90fd\u5728\u7528"),p.createElement("p",null,"Furion \u5df2\u5728\u5168\u7403\u8d85\u8fc7385\u4e07\u4e2a\u9879\u76ee\u4e2d\u4f7f\u7528\u3002\u4ece\u5c0f\u578b\u4f01\u4e1a\u5230\u4f01\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\u53ca\u77e5\u540d\u4f01\u4e1a\u3002\u4ed6\u4eec\u5728\u7b80\u5355\u8f6f\u4ef6\u548c\u590d\u6742\u7ba1\u7406\u7cfb\u7edf\u7684\u5f00\u53d1\u65b9\u9762\u90fd\u4fe1\u4efb\u6211\u4eec\u3002"),p.createElement("a",{className:"furion-get-start",href:"https://github.com/MonkSoul/Furion/issues/154",target:"_blank"},"\u7acb\u5373\u6dfb\u52a0\u60a8\u7684\u516c\u53f8"))))}function le(){var e=(0,o.I)(),t=e.colorMode,l=(e.setLightTheme,e.setDarkTheme,"dark"===t);return p.createElement("div",{className:"furion-links"},p.createElement("p",{className:"furion-small-title"+(l?" dark":"")},"\u53cb\u60c5\u94fe\u63a5"),p.createElement("h1",{className:"furion-big-title"+(l?" dark":"")},"\u5b83\u4eec\u4e00\u6837\u662f\u4f18\u79c0\u7684\u9879\u76ee/\u7f51\u7ad9"),p.createElement("div",{className:"furion-links-content"},g.map((function(e,t){return p.createElement("a",{href:e.url,key:t,target:"_blank",title:e.title},e.text)}))))}function ae(e){var t=e.language,l=e.replace,a=(e.section,e.source);if(a=a.replace(/\/\/ <.*?\n/g,""),l)for(var n=0,r=Object.entries(l);n=0||(r[n]=t[n]);return r}(t,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(e=0;e=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var d=e.createContext({}),k=function(t){var a=e.useContext(d),n=a;return t&&(n="function"==typeof t?t(a):p(p({},a),t)),n},N=function(t){var a=k(t.components);return e.createElement(d.Provider,{value:a},t.children)},i={inlineCode:"code",wrapper:function(t){var a=t.children;return e.createElement(e.Fragment,{},a)}},g=e.forwardRef((function(t,a){var n=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,N=m(t,["components","mdxType","originalType","parentName"]),g=k(n),u=r,o=g["".concat(d,".").concat(u)]||g[u]||i[u]||l;return n?e.createElement(o,p(p({ref:a},N),{},{components:n})):e.createElement(o,p({ref:a},N))}));function u(t,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof t||r){var l=n.length,p=new Array(l);p[0]=g;var m={};for(var d in a)hasOwnProperty.call(a,d)&&(m[d]=a[d]);m.originalType=t,m.mdxType="string"==typeof t?t:r,p[1]=m;for(var k=2;k=0||(r[n]=t[n]);return r}(t,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(e=0;e=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var d=e.createContext({}),k=function(t){var a=e.useContext(d),n=a;return t&&(n="function"==typeof t?t(a):p(p({},a),t)),n},N=function(t){var a=k(t.components);return e.createElement(d.Provider,{value:a},t.children)},i={inlineCode:"code",wrapper:function(t){var a=t.children;return e.createElement(e.Fragment,{},a)}},g=e.forwardRef((function(t,a){var n=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,N=m(t,["components","mdxType","originalType","parentName"]),g=k(n),u=r,o=g["".concat(d,".").concat(u)]||g[u]||i[u]||l;return n?e.createElement(o,p(p({ref:a},N),{},{components:n})):e.createElement(o,p({ref:a},N))}));function u(t,a){var n=arguments,r=a&&a.mdxType;if("string"==typeof t||r){var l=n.length,p=new Array(l);p[0]=g;var m={};for(var d in a)hasOwnProperty.call(a,d)&&(m[d]=a[d]);m.originalType=t,m.mdxType="string"==typeof t?t:r,p[1]=m;for(var k=2;k1?t-1:0),r=1;r\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = '+e+" "+("/"===e?" (default value)":"")+'

\n

We suggest trying baseUrl =

\n\n'}(e)).replace(/0)&&(B.current.unobserve(e),B.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))}))})),B.current.observe(e))},to:P},m&&{isActive:y,activeClassName:v}))}var m=a.forwardRef(h)},5999:function(e,t,n){"use strict";n.d(t,{Z:function(){return c},I:function(){return s}});var r=n(7294);function o(e,t){var n=e.split(/(\{\w+\})/).map((function(e,n){if(n%2==1){var r=null==t?void 0:t[e.slice(1,-1)];if(void 0!==r)return r}return e}));return n.some((function(e){return(0,r.isValidElement)(e)}))?n.map((function(e,t){return(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e})).filter((function(e){return""!==e})):n.join("")}var a=n(7529);function i(e){var t,n,r=e.id,o=e.message;if(void 0===r&&void 0===o)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return null!=(t=null!=(n=a[null!=r?r:o])?n:o)?t:r}function s(e,t){return o(i({message:e.message,id:e.id}),t)}function c(e){var t=e.children,n=e.id,a=e.values;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");var s=i({message:t,id:n});return r.createElement(r.Fragment,null,o(s,a))}},9935:function(e,t,n){"use strict";n.d(t,{m:function(){return r}});var r="default"},3919:function(e,t,n){"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:function(){return o},b:function(){return r}})},4996:function(e,t,n){"use strict";n.d(t,{C:function(){return a},Z:function(){return i}});var r=n(2263),o=n(3919);function a(){var e=(0,r.Z)().siteConfig,t=e.baseUrl,n=e.url;return{withBaseUrl:function(e,r){return function(e,t,n,r){var a=void 0===r?{}:r,i=a.forcePrependBaseUrl,s=void 0!==i&&i,c=a.absolute,l=void 0!==c&&c;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(s)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;var u=n.startsWith(t)?n:t+n.replace(/^\//,"");return l?e+u:u}(n,t,e,r)}}}function i(e,t){return void 0===t&&(t={}),(0,a().withBaseUrl)(e,t)}},2263:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294),o=n(8940);function a(){return(0,r.useContext)(o._)}},2389:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294),o=n(8934);function a(){return(0,r.useContext)(o._)}},9670:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});function r(e){var t={};return function e(n,r){Object.entries(n).forEach((function(n){var o,a=n[0],i=n[1],s=r?r+"."+a:a;"object"==typeof(o=i)&&o&&Object.keys(o).length>0?e(i,s):t[s]=i}))}(e),t}},226:function(e,t,n){"use strict";n.d(t,{_:function(){return o},z:function(){return a}});var r=n(7294),o=r.createContext(null);function a(e){var t=e.children,n=e.value,a=r.useContext(o),i=(0,r.useMemo)((function(){return function(e){var t=e.parent,n=e.value;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}var r=Object.assign({},t.data,null==n?void 0:n.data);return{plugin:t.plugin,data:r}}({parent:a,value:n})}),[a,n]);return r.createElement(o.Provider,{value:i},t)}},143:function(e,t,n){"use strict";n.d(t,{Iw:function(){return m},gA:function(){return f},_r:function(){return u},Jo:function(){return g},zh:function(){return d},yW:function(){return h},gB:function(){return p}});var r=n(6775),o=n(2263),a=n(9935);function i(e,t){void 0===t&&(t={});var n=(0,o.Z)().globalData[e];if(!n&&t.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin.');return n}var s=function(e){return e.versions.find((function(e){return e.isLast}))};function c(e,t){var n,o,a=function(e,t){var n=s(e);return[].concat(e.versions.filter((function(e){return e!==n})),[n]).find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})}))}(e,t),i=null==a?void 0:a.docs.find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})}));return{activeVersion:a,activeDoc:i,alternateDocVersions:i?(n=i.id,o={},e.versions.forEach((function(e){e.docs.forEach((function(t){t.id===n&&(o[e.name]=t)}))})),o):{}}}var l={},u=function(){var e;return null!=(e=i("docusaurus-plugin-content-docs"))?e:l},d=function(e){return function(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});var r=i(e),o=null==r?void 0:r[t];if(!o&&n.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin with id "'+t+'".');return o}("docusaurus-plugin-content-docs",e,{failfast:!0})};function f(e){return void 0===e&&(e={}),function(e,t,n){void 0===n&&(n={});var o=Object.entries(e).sort((function(e,t){return t[1].path.localeCompare(e[1].path)})).find((function(e){var n=e[1];return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error("Can't find active docs plugin for \""+t+'" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: '+Object.values(e).map((function(e){return e.path})).join(", "));return a}(u(),(0,r.TH)().pathname,e)}function p(e){return d(e).versions}function h(e){var t=d(e);return s(t)}function m(e){return c(d(e),(0,r.TH)().pathname)}function g(e){return function(e,t){var n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(d(e),(0,r.TH)().pathname)}},8320:function(e,t,n){"use strict";n.r(t);var r=n(4865),o=n.n(r);o().configure({showSpinner:!1});var a={onRouteUpdate:function(e){var t=e.location,n=e.previousLocation;if(n&&t.pathname!==n.pathname){var r=window.setTimeout((function(){o().start()}),200);return function(){return window.clearTimeout(r)}}},onRouteDidUpdate:function(){o().done()}};t.default=a},3310:function(e,t,n){"use strict";n.r(t);var r,o,a=n(7410),i=n(6809);r=a.Z,o=i.default.themeConfig.prism.additionalLanguages,globalThis.Prism=r,o.forEach((function(e){n(4806)("./prism-"+e)})),delete globalThis.Prism},9471:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294),o="iconExternalLink_nPIU";function a(e){var t=e.width,n=void 0===t?13.5:t,a=e.height,i=void 0===a?13.5:a;return r.createElement("svg",{width:n,height:i,"aria-hidden":"true",viewBox:"0 0 24 24",className:o},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},5822:function(e,t,n){"use strict";n.d(t,{Z:function(){return hn}});var r=n(7294),o=n(4334),a=n(4763),i=n(1944),s=n(5281),c=n(9727),l=n(5999),u=n(6775),d=n(5936);function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}var p="skipToContent_fXgn";function h(){var e=function(){var e=(0,r.useRef)(null),t=(0,u.k6)().action,n=(0,r.useCallback)((function(e){var t;e.preventDefault();var n=null!=(t=document.querySelector("main:first-of-type"))?t:document.querySelector("."+s.k.wrapper.main);n&&f(n)}),[]);return(0,d.S)((function(n){var r=n.location;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,handleSkip:n}}(),t=e.containerRef,n=e.handleSkip;return r.createElement("div",{ref:t,role:"region","aria-label":(0,l.I)({id:"theme.common.skipToMainContent"})},r.createElement("a",{href:"#",className:p,onClick:n},r.createElement(l.Z,{id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"},"Skip to main content")))}var m=n(6668),g=n(9689),b=n(3117),v=n(102),y=["width","height","color","strokeWidth","className"];function E(e){var t=e.width,n=void 0===t?21:t,o=e.height,a=void 0===o?21:o,i=e.color,s=void 0===i?"currentColor":i,c=e.strokeWidth,l=void 0===c?1.2:c,u=(e.className,(0,v.Z)(e,y));return r.createElement("svg",(0,b.Z)({viewBox:"0 0 15 15",width:n,height:a},u),r.createElement("g",{stroke:s,strokeWidth:l},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}var w="closeButton_CVFx";function x(e){return r.createElement("button",(0,b.Z)({type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,o.Z)("clean-btn close",w,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}var k="content_knG7";function S(e){var t=(0,m.L)().announcementBar.content;return r.createElement("div",(0,b.Z)({},e,{className:(0,o.Z)(k,e.className),dangerouslySetInnerHTML:{__html:t}}))}var _="announcementBar_mb4j",T="announcementBarPlaceholder_vyr4",C="announcementBarClose_gvF7",L="announcementBarContent_xLdY";function A(){var e=(0,m.L)().announcementBar,t=(0,g.nT)(),n=t.isActive,o=t.close;if(!n)return null;var a=e.backgroundColor,i=e.textColor,s=e.isCloseable;return r.createElement("div",{className:_,style:{backgroundColor:a,color:i},role:"banner"},s&&r.createElement("div",{className:T}),r.createElement(S,{className:L}),s&&r.createElement(x,{onClick:o,className:C}))}var N=n(2961),I=n(2466);var O=n(4700),R=n(3102),P=r.createContext(null);function D(e){var t,n,o,a,i,s,c,l=e.children,u=(t=(0,N.e)(),n=(0,R.HY)(),o=(0,r.useState)(!1),a=o[0],i=o[1],s=null!==n.component,c=(0,O.D9)(s),(0,r.useEffect)((function(){s&&!c&&i(!0)}),[s,c]),(0,r.useEffect)((function(){s?t.shown||i(!0):i(!1)}),[t.shown,s]),(0,r.useMemo)((function(){return[a,i]}),[a]));return r.createElement(P.Provider,{value:u},l)}function F(e){if(e.component){var t=e.component;return r.createElement(t,e.props)}}function M(){var e=(0,r.useContext)(P);if(!e)throw new O.i6("NavbarSecondaryMenuDisplayProvider");var t=e[0],n=e[1],o=(0,r.useCallback)((function(){return n(!1)}),[n]),a=(0,R.HY)();return(0,r.useMemo)((function(){return{shown:t,hide:o,content:F(a)}}),[o,a,t])}function B(e){var t=e.header,n=e.primaryMenu,a=e.secondaryMenu,i=M().shown;return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},a)))}var j=n(2949),U=n(2389);function z(e){return r.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function Z(e){return r.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}var $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){var t=e.className,n=e.value,a=e.onChange,i=(0,U.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===n?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,o.Z)($.toggle,t)},r.createElement("button",{className:(0,o.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled),type:"button",onClick:function(){return a("dark"===n?"light":"dark")},disabled:!i,title:s,"aria-label":s},r.createElement(z,{className:(0,o.Z)($.toggleIcon,$.lightToggleIcon)}),r.createElement(Z,{className:(0,o.Z)($.toggleIcon,$.darkToggleIcon)})))}var W=r.memo(H);function Q(e){var t=e.className,n=(0,m.L)().colorMode.disableSwitch,o=(0,j.I)(),a=o.colorMode,i=o.setColorMode;return n?null:r.createElement(W,{className:t,value:a,onChange:i})}var V=n(1327);function G(){return r.createElement(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function q(){var e=(0,N.e)();return r.createElement("button",{type:"button",className:"clean-btn navbar-sidebar__close",onClick:function(){return e.toggle()}},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(G,null),r.createElement(Q,{className:"margin-right--md"}),r.createElement(q,null))}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471),ne=["activeBasePath","activeBaseRegex","to","href","label","html","isDropdownLink","prependBaseUrlToHref"];function re(e){var t=e.activeBasePath,n=e.activeBaseRegex,o=e.to,a=e.href,i=e.label,s=e.html,c=e.isDropdownLink,l=e.prependBaseUrlToHref,u=(0,v.Z)(e,ne),d=(0,X.Z)(o),f=(0,X.Z)(t),p=(0,X.Z)(a,{forcePrependBaseUrl:!0}),h=i&&a&&!(0,J.Z)(a),m=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(te.Z,c&&{width:12,height:12}))};return a?r.createElement(K.Z,(0,b.Z)({href:l?p:a},u,m)):r.createElement(K.Z,(0,b.Z)({to:d,isNavLink:!0},(t||n)&&{isActive:function(e,t){return n?ee(n,t.pathname):t.pathname.startsWith(f)}},u,m))}var oe=["className","isDropdownItem"],ae=["className","isDropdownItem"],ie=["mobile","position"];function se(e){var t=e.className,n=e.isDropdownItem,a=void 0!==n&&n,i=(0,v.Z)(e,oe),s=r.createElement(re,(0,b.Z)({className:(0,o.Z)(a?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:a},i));return a?r.createElement("li",null,s):s}function ce(e){var t=e.className,n=(e.isDropdownItem,(0,v.Z)(e,ae));return r.createElement("li",{className:"menu__list-item"},r.createElement(re,(0,b.Z)({className:(0,o.Z)("menu__link",t)},n)))}function le(e){var t,n=e.mobile,o=void 0!==n&&n,a=(e.position,(0,v.Z)(e,ie)),i=o?ce:se;return r.createElement(i,(0,b.Z)({},a,{activeClassName:null!=(t=a.activeClassName)?t:o?"menu__link--active":"navbar__link--active"}))}var ue=n(6043),de=n(8596),fe=n(2263);var pe=["items","position","className","onClick"],he=["items","className","position","onClick"],me=["mobile"];function ge(e,t){return e.some((function(e){return function(e,t){return!!(0,de.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)}))}function be(e){var t,n=e.items,a=e.position,i=e.className,s=(e.onClick,(0,v.Z)(e,pe)),c=(0,r.useRef)(null),l=(0,r.useState)(!1),u=l[0],d=l[1];return(0,r.useEffect)((function(){var e=function(e){c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[c]),r.createElement("div",{ref:c,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===a,"dropdown--show":u})},r.createElement(re,(0,b.Z)({"aria-haspopup":"true","aria-expanded":u,role:"button",href:s.to?void 0:"#",className:(0,o.Z)("navbar__link",i)},s,{onClick:s.to?void 0:function(e){return e.preventDefault()},onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),d(!u))}}),null!=(t=s.children)?t:s.label),r.createElement("ul",{className:"dropdown__menu"},n.map((function(e,t){return r.createElement(Lt,(0,b.Z)({isDropdownItem:!0,onKeyDown:function(e){if(t===n.length-1&&"Tab"===e.key){e.preventDefault(),d(!1);var r=c.current.nextElementSibling;if(r)(r instanceof HTMLAnchorElement?r:r.querySelector("a")).focus()}},activeClassName:"dropdown__link--active"},e,{key:t}))}))))}function ve(e){var t,n,a=e.items,i=e.className,s=(e.position,e.onClick),c=(0,v.Z)(e,he),l=(n=(0,fe.Z)().siteConfig.baseUrl,(0,u.TH)().pathname.replace(n,"/")),d=ge(a,l),f=(0,ue.u)({initialState:function(){return!d}}),p=f.collapsed,h=f.toggleCollapsed,m=f.setCollapsed;return(0,r.useEffect)((function(){d&&m(!d)}),[l,d,m]),r.createElement("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p})},r.createElement(re,(0,b.Z)({role:"button",className:(0,o.Z)("menu__link menu__link--sublist menu__link--sublist-caret",i)},c,{onClick:function(e){e.preventDefault(),h()}}),null!=(t=c.children)?t:c.label),r.createElement(ue.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p},a.map((function(e,t){return r.createElement(Lt,(0,b.Z)({mobile:!0,isDropdownItem:!0,onClick:s,activeClassName:"menu__link--active"},e,{key:t}))}))))}function ye(e){var t=e.mobile,n=void 0!==t&&t,o=(0,v.Z)(e,me),a=n?ve:be;return r.createElement(a,o)}var Ee=n(4711),we=["width","height"];function xe(e){var t=e.width,n=void 0===t?20:t,o=e.height,a=void 0===o?20:o,i=(0,v.Z)(e,we);return r.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:n,height:a,"aria-hidden":!0},i),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}var ke="iconLanguage_nlXk",Se=["mobile","dropdownItemsBefore","dropdownItemsAfter"];var _e=n(1029),Te=n(1017),Ce=n(7872),Le=n(4035),Ae=n(6010),Ne=n(412),Ie=n(373),Oe=n(143),Re=n(22),Pe=n(8202),De=n(3926),Fe=n(2775),Me=n(2539),Be=n(726),je="searchBar_RVTs",Ue="dropdownMenu_qbY6",ze="searchBarLeft_MXDe",Ze="suggestion_fB_2",$e="cursor_eG29",He="hitTree_kk6K",We="hitIcon_a7Zy",Qe="hitPath_ieM4",Ve="noResultsIcon_EBY5",Ge="hitFooter_E9YW",qe="hitWrapper_sAK8",Ye="hitTitle_vyVt",Ke="hitAction_NqkB",Xe="noResults_l6Q3",Je="searchBarContainer_NW3z",et="searchBarLoadingRing_YnHq",tt="searchClearButton_qk4g",nt="searchIndexLoading_EJ1f",rt="searchHintContainer_Pkmr",ot="searchHint_iIMx",at="focused_OWtg",it="input_FOTf",st="hint_URu1",ct="suggestions_X8XU",lt="dataset_QiCy",ut="empty_eITn";function dt(e){var t=e.document,n=e.type,r=e.page,o=e.metadata,a=e.tokens,i=e.isInterOfTree,s=e.isLastOfTree,c=0===n,l=1===n,u=[];i?u.push(''):s&&u.push('');var d=u.map((function(e){return''+e+""})),f=''+(c?'':l?'':'')+"",p=[''+(0,Be.o)(t.t,(0,Fe.m)(o,"t"),a)+""];if(!i&&!s&&_e.H6){var h,m=r?(null!=(h=r.b)?h:[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;p.push(''+(0,De.e)(null!=m?m:[])+"")}else c||p.push(''+(0,Me.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),a)+"");return[].concat(d,[f,''],p,["",'']).join("")}function ft(){return''+(0,l.I)({id:"theme.SearchBar.noResultsText",message:"No results"})+""}var pt=n(311);function ht(){return mt.apply(this,arguments)}function mt(){return(mt=(0,Le.Z)((0,Te.Z)().mark((function e(){var t,r;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,8443,23));case 2:return t=e.sent,(r=t.default).noConflict?r.noConflict():t.noConflict&&t.noConflict(),e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var gt="_highlight";var bt=function(e){var t,n,o,a=e.handleSearchBarToggle,i=(0,fe.Z)().siteConfig.baseUrl,s=(0,Oe.gA)(),c=i;try{var d,f=(0,Ie.J)(null!=(d=null==s?void 0:s.pluginId)?d:_e.gQ).preferredVersion;f&&!f.isLast&&(c=f.path+"/")}catch(j){if(_e.l9&&!(j instanceof O.i6))throw j}var p=(0,u.k6)(),h=(0,u.TH)(),m=(0,r.useRef)(null),g=(0,r.useRef)("empty"),b=(0,r.useRef)(!1),v=(0,r.useState)(!1),y=v[0],E=v[1],w=(0,r.useState)(!1),x=w[0],k=w[1],S=(0,r.useState)(""),_=S[0],T=S[1],C=(0,r.useRef)(null),L=(0,r.useCallback)((0,Le.Z)((0,Te.Z)().mark((function e(){var t,n,r,o,a,s,u;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("empty"===g.current){e.next=2;break}return e.abrupt("return");case 2:return g.current="loading",E(!0),e.next=6,Promise.all([(0,Re.w)(c),ht()]);case 6:n=e.sent,r=n[0],o=r.wrappedIndexes,a=r.zhDictionary,s=n[1],C.current=s(m.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,Ae.Z)(je,(t={},t[ze]="left"===_e.pu,t)),noPrefix:!0,dropdownMenu:Ue,input:it,hint:st,suggestions:ct,suggestion:Ze,cursor:$e,dataset:lt,empty:ut}},[{source:(0,Pe.v)(o,a,_e.qo),templates:{suggestion:dt,empty:ft,footer:function(e){var t=e.query;if(!e.isEmpty){var n=document.createElement("a"),r=i+"search?q="+encodeURIComponent(t);n.href=r,n.textContent=(0,l.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),n.addEventListener("click",(function(e){e.ctrlKey||e.metaKey||(e.preventDefault(),C.current.autocomplete.close(),p.push(r))}));var o=document.createElement("div");return o.className=Ge,o.appendChild(n),o}}}}]).on("autocomplete:selected",(function(e,t){var n,r=t.document,o=r.u,a=r.h,i=t.tokens;null==(n=m.current)||n.blur();var s=o;if(_e.vc&&i.length>0){for(var c,l=new URLSearchParams,u=(0,Ce.Z)(i);!(c=u()).done;){var d=c.value;l.append(gt,d)}s+="?"+l.toString()}a&&(s+=a),p.push(s)})).on("autocomplete:closed",(function(){var e;null==(e=m.current)||e.blur()})),g.current="done",E(!1),b.current&&((u=m.current).value&&C.current.autocomplete.open(),u.focus());case 15:case"end":return e.stop()}}),e)}))),[i,c,p]);(0,r.useEffect)((function(){if(_e.vc){var e=Ne.Z.canUseDOM?new URLSearchParams(h.search).getAll(gt):[];setTimeout((function(){var t,n=document.querySelector("article");if(n){var r=new _e.vc(n);r.unmark(),0!==e.length&&r.mark(e),T(e.join(" ")),null==(t=C.current)||t.autocomplete.setVal(e.join(" "))}}))}}),[h.search,h.pathname]);var A=(0,r.useState)(!1),N=A[0],I=A[1],R=(0,r.useCallback)((function(){b.current=!0,L(),I(!0),null==a||a(!0)}),[a,L]),P=(0,r.useCallback)((function(){I(!1),null==a||a(!1)}),[a]),D=(0,r.useCallback)((function(){L()}),[L]),F=(0,r.useCallback)((function(e){T(e.target.value),e.target.value&&k(!0)}),[]),M=!!Ne.Z.canUseDOM&&/mac/i.test(null!=(t=null==(n=navigator.userAgentData)?void 0:n.platform)?t:navigator.platform);(0,r.useEffect)((function(){if(_e.AY){var e=function(e){var t;(M?e.metaKey:e.ctrlKey)&&"KeyK"===e.code&&(e.preventDefault(),null==(t=m.current)||t.focus(),R())};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}}),[M,R]);var B=(0,r.useCallback)((function(){var e,t=new URLSearchParams(h.search);t.delete(gt);var n=t.toString(),r=h.pathname+(""!=n?"?"+n:"")+h.hash;r!=h.pathname+h.search+h.hash&&p.push(r),T(""),null==(e=C.current)||e.autocomplete.setVal("")}),[h.pathname,h.search,h.hash,p]);return r.createElement("div",{className:(0,Ae.Z)("navbar__search",Je,(o={},o[nt]=y&&x,o[at]=N,o))},r.createElement("input",{placeholder:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:D,onFocus:R,onBlur:P,onChange:F,ref:m,value:_}),r.createElement(pt.Z,{className:et}),_e.AY&&_e.t_&&(""!==_?r.createElement("button",{className:tt,onClick:B},"\u2715"):r.createElement("div",{className:rt},r.createElement("kbd",{className:ot},M?"\u2318":"ctrl"),r.createElement("kbd",{className:ot},"K"))))},vt="searchBox_ZlJk";function yt(e){var t=e.children,n=e.className;return r.createElement("div",{className:(0,o.Z)(n,vt)},t)}var Et=n(3438),wt=["docId","label","docsPluginId"];var xt=["sidebarId","label","docsPluginId"];var kt=["label","to","docsPluginId"];var St=["mobile","docsPluginId","dropdownActiveClassDisabled","dropdownItemsBefore","dropdownItemsAfter"],_t=function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))};var Tt={default:le,localeDropdown:function(e){var t=e.mobile,n=e.dropdownItemsBefore,o=e.dropdownItemsAfter,a=(0,v.Z)(e,Se),i=(0,fe.Z)().i18n,s=i.currentLocale,c=i.locales,u=i.localeConfigs,d=(0,Ee.l)(),f=c.map((function(e){var n="pathname://"+d.createUrl({locale:e,fullyQualified:!1});return{label:u[e].label,lang:u[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===s?t?"menu__link--active":"dropdown__link--active":""}})),p=[].concat(n,f,o),h=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):u[s].label;return r.createElement(ye,(0,b.Z)({},a,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(xe,{className:ke}),h),items:p}))},search:function(e){var t=e.mobile,n=e.className;return t?null:r.createElement(yt,{className:n},r.createElement(bt,null))},dropdown:ye,html:function(e){var t=e.value,n=e.className,a=e.mobile,i=void 0!==a&&a,s=e.isDropdownItem,c=void 0!==s&&s,l=c?"li":"div";return r.createElement(l,{className:(0,o.Z)({navbar__item:!i&&!c,"menu__list-item":i},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){var t=e.docId,n=e.label,o=e.docsPluginId,a=(0,v.Z)(e,wt),i=(0,Oe.Iw)(o).activeDoc,s=(0,Et.vY)(t,o);return null===s?null:r.createElement(le,(0,b.Z)({exact:!0},a,{isActive:function(){return(null==i?void 0:i.path)===s.path||!(null==i||!i.sidebar)&&i.sidebar===s.sidebar},label:null!=n?n:s.id,to:s.path}))},docSidebar:function(e){var t=e.sidebarId,n=e.label,o=e.docsPluginId,a=(0,v.Z)(e,xt),i=(0,Oe.Iw)(o).activeDoc,s=(0,Et.oz)(t,o).link;if(!s)throw new Error('DocSidebarNavbarItem: Sidebar with ID "'+t+"\" doesn't have anything to be linked to.");return r.createElement(le,(0,b.Z)({exact:!0},a,{isActive:function(){return(null==i?void 0:i.sidebar)===t},label:null!=n?n:s.label,to:s.path}))},docsVersion:function(e){var t=e.label,n=e.to,o=e.docsPluginId,a=(0,v.Z)(e,kt),i=(0,Et.lO)(o)[0],s=null!=t?t:i.label,c=null!=n?n:function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))}(i).path;return r.createElement(le,(0,b.Z)({},a,{label:s,to:c}))},docsVersionDropdown:function(e){var t=e.mobile,n=e.docsPluginId,o=e.dropdownActiveClassDisabled,a=e.dropdownItemsBefore,i=e.dropdownItemsAfter,s=(0,v.Z)(e,St),c=(0,Oe.Iw)(n),u=(0,Oe.gB)(n),d=(0,Ie.J)(n).savePreferredVersionName,f=u.map((function(e){var t,n=null!=(t=c.alternateDocVersions[e.name])?t:_t(e);return{label:e.label,to:n.path,isActive:function(){return e===c.activeVersion},onClick:function(){return d(e.name)}}})),p=[].concat(a,f,i),h=(0,Et.lO)(n)[0],m=t&&p.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,g=t&&p.length>1?void 0:_t(h).path;return p.length<=1?r.createElement(le,(0,b.Z)({},s,{mobile:t,label:m,to:g,isActive:o?function(){return!1}:void 0})):r.createElement(ye,(0,b.Z)({},s,{mobile:t,label:m,to:g,items:p,isActive:o?function(){return!1}:void 0}))}},Ct=["type"];function Lt(e){var t=e.type,n=(0,v.Z)(e,Ct),o=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Tt[o];if(!a)throw new Error('No NavbarItem component found for type "'+t+'".');return r.createElement(a,n)}function At(){var e=(0,N.e)(),t=(0,m.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map((function(t,n){return r.createElement(Lt,(0,b.Z)({mobile:!0},t,{onClick:function(){return e.toggle()},key:n}))})))}function Nt(e){return r.createElement("button",(0,b.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function It(){var e=0===(0,m.L)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement(Nt,{onClick:function(){return t.hide()}}),t.content)}function Ot(){var e,t=(0,N.e)();return void 0===(e=t.shown)&&(e=!0),(0,r.useEffect)((function(){return document.body.style.overflow=e?"hidden":"visible",function(){document.body.style.overflow="visible"}}),[e]),t.shouldRender?r.createElement(B,{header:r.createElement(Y,null),primaryMenu:r.createElement(At,null),secondaryMenu:r.createElement(It,null)}):null}var Rt="navbarHideable_m1mJ",Pt="navbarHidden_jGov";function Dt(e){return r.createElement("div",(0,b.Z)({role:"presentation"},e,{className:(0,o.Z)("navbar-sidebar__backdrop",e.className)}))}function Ft(e){var t=e.children,n=(0,m.L)().navbar,a=n.hideOnScroll,i=n.style,s=(0,N.e)(),c=function(e){var t=(0,r.useState)(e),n=t[0],o=t[1],a=(0,r.useRef)(!1),i=(0,r.useRef)(0),s=(0,r.useCallback)((function(e){null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,I.RF)((function(t,n){var r=t.scrollY;if(e)if(r=s?o(!1):r+l0&&r.createElement(Jt,{links:n}),logo:o&&r.createElement(rn,{logo:o}),copyright:t&&r.createElement(on,{copyright:t})})}var cn=r.memo(sn),ln=n(7094),un=(0,O.Qc)([j.S,g.pl,ln.z,I.OC,Ie.L5,i.VC,function(e){var t=e.children;return r.createElement(R.n2,null,r.createElement(N.M,null,r.createElement(D,null,t)))}]);function dn(e){var t=e.children;return r.createElement(un,null,t)}function fn(e){var t=e.error,n=e.tryAgain;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},r.createElement(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}var pn="mainWrapper_z2l0";function hn(e){var t=e.children,n=e.noFooter,l=e.wrapperClassName,u=e.title,d=e.description;return(0,c.t)(),r.createElement(dn,null,r.createElement(i.d,{title:u,description:d}),r.createElement(h,null),r.createElement(A,null),r.createElement(Ht,null),r.createElement("div",{className:(0,o.Z)(s.k.wrapper.main,pn,l)},r.createElement(a.Z,{fallback:function(e){return r.createElement(fn,e)}},t)),!n&&r.createElement(cn,null))}},1327:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(3117),o=n(102),a=n(7294),i=n(9960),s=n(4996),c=n(2263),l=n(6668),u=n(941),d=["imageClassName","titleClassName"];function f(e){var t=e.logo,n=e.alt,r=e.imageClassName,o={light:(0,s.Z)(t.src),dark:(0,s.Z)(t.srcDark||t.src)},i=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},i):i}function p(e){var t,n=(0,c.Z)().siteConfig.title,u=(0,l.L)().navbar,p=u.title,h=u.logo,m=e.imageClassName,g=e.titleClassName,b=(0,o.Z)(e,d),v=(0,s.Z)((null==h?void 0:h.href)||"/"),y=p?"":n,E=null!=(t=null==h?void 0:h.alt)?t:y;return a.createElement(i.Z,(0,r.Z)({to:v},b,(null==h?void 0:h.target)&&{target:h.target}),h&&a.createElement(f,{logo:h,alt:E,imageClassName:m}),null!=p&&a.createElement("b",{className:g},p))}},197:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(7294),o=n(5742);function a(e){var t=e.locale,n=e.version,a=e.tag,i=t;return r.createElement(o.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),a&&r.createElement("meta",{name:"docusaurus_tag",content:a}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),a&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:a}))}},941:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(3117),o=n(102),a=n(7294),i=n(4334),s=n(2389),c=n(2949),l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"},u=["sources","className","alt"];function d(e){var t=(0,s.Z)(),n=(0,c.I)().colorMode,d=e.sources,f=e.className,p=e.alt,h=(0,o.Z)(e,u),m=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,m.map((function(e){return a.createElement("img",(0,r.Z)({key:e,src:d[e],alt:p,className:(0,i.Z)(l.themedImage,l["themedImage--"+e],f)},h))})))}},6043:function(e,t,n){"use strict";n.d(t,{u:function(){return l},z:function(){return b}});var r=n(3117),o=n(102),a=n(7294),i=n(412),s=["collapsed"],c=["lazy"];function l(e){var t=e.initialState,n=(0,a.useState)(null!=t&&t),r=n[0],o=n[1],i=(0,a.useCallback)((function(){o((function(e){return!e}))}),[]);return{collapsed:r,setCollapsed:o,toggleCollapsed:i}}var u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){var n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){var t=e.collapsibleRef,n=e.collapsed,r=e.animation,o=(0,a.useRef)(!1);(0,a.useEffect)((function(){var e,a=t.current;function i(){var e,t,n=a.scrollHeight,o=null!=(e=null==r?void 0:r.duration)?e:function(e){var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}(n);return{transition:"height "+o+"ms "+(null!=(t=null==r?void 0:r.easing)?t:"ease-in-out"),height:n+"px"}}function s(){var e=i();a.style.transition=e.transition,a.style.height=e.height}if(!o.current)return f(a,n),void(o.current=!0);return a.style.willChange="height",e=requestAnimationFrame((function(){n?(s(),requestAnimationFrame((function(){a.style.height=u.height,a.style.overflow=u.overflow}))):(a.style.display="block",requestAnimationFrame((function(){s()})))})),function(){return cancelAnimationFrame(e)}}),[t,n,r])}function h(e){if(!i.Z.canUseDOM)return e?u:d}function m(e){var t=e.as,n=void 0===t?"div":t,r=e.collapsed,o=e.children,i=e.animation,s=e.onCollapseTransitionEnd,c=e.className,l=e.disableSSRStyle,u=(0,a.useRef)(null);return p({collapsibleRef:u,collapsed:r,animation:i}),a.createElement(n,{ref:u,style:l?void 0:h(r),onTransitionEnd:function(e){"height"===e.propertyName&&(f(u.current,r),null==s||s(r))},className:c},o)}function g(e){var t=e.collapsed,n=(0,o.Z)(e,s),i=(0,a.useState)(!t),c=i[0],l=i[1],u=(0,a.useState)(t),d=u[0],f=u[1];return(0,a.useLayoutEffect)((function(){t||l(!0)}),[t]),(0,a.useLayoutEffect)((function(){c&&f(t)}),[c,t]),c?a.createElement(m,(0,r.Z)({},n,{collapsed:d})):null}function b(e){var t=e.lazy,n=(0,o.Z)(e,c),r=t?g:m;return a.createElement(r,n)}},9689:function(e,t,n){"use strict";n.d(t,{nT:function(){return h},pl:function(){return p}});var r=n(7294),o=n(2389),a=n(12),i=n(4700),s=n(6668),c=(0,a.W)("docusaurus.announcement.dismiss"),l=(0,a.W)("docusaurus.announcement.id"),u=function(){return"true"===c.get()},d=function(e){return c.set(String(e))},f=r.createContext(null);function p(e){var t=e.children,n=function(){var e=(0,s.L)().announcementBar,t=(0,o.Z)(),n=(0,r.useState)((function(){return!!t&&u()})),a=n[0],i=n[1];(0,r.useEffect)((function(){i(u())}),[]);var c=(0,r.useCallback)((function(){d(!0),i(!0)}),[]);return(0,r.useEffect)((function(){if(e){var t=e.id,n=l.get();"annoucement-bar"===n&&(n="announcement-bar");var r=t!==n;l.set(t),r&&d(!1),!r&&u()||i(!1)}}),[e]),(0,r.useMemo)((function(){return{isActive:!!e&&!a,close:c}}),[e,a,c])}();return r.createElement(f.Provider,{value:n},t)}function h(){var e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:function(e,t,n){"use strict";n.d(t,{I:function(){return g},S:function(){return m}});var r=n(7294),o=n(412),a=n(4700),i=n(12),s=n(6668),c=r.createContext(void 0),l="theme",u=(0,i.W)(l),d="light",f="dark",p=function(e){return e===f?f:d};function h(){var e=(0,s.L)().colorMode,t=e.defaultMode,n=e.disableSwitch,a=e.respectPrefersColorScheme,i=(0,r.useState)(function(e){return o.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e)}(t)),c=i[0],h=i[1];(0,r.useEffect)((function(){n&&u.del()}),[n]);var m=(0,r.useCallback)((function(e,n){void 0===n&&(n={});var r=n.persist,o=void 0===r||r;e?(h(e),o&&function(e){u.set(p(e))}(e)):(h(a?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:t),u.del())}),[a,t]);(0,r.useEffect)((function(){document.documentElement.setAttribute("data-theme",p(c))}),[c]),(0,r.useEffect)((function(){if(!n){var e=function(e){if(e.key===l){var t=u.get();null!==t&&m(p(t))}};return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}}}),[n,m]);var g=(0,r.useRef)(!1);return(0,r.useEffect)((function(){if(!n||a){var e=window.matchMedia("(prefers-color-scheme: dark)"),t=function(){window.matchMedia("print").matches||g.current?g.current=window.matchMedia("print").matches:m(null)};return e.addListener(t),function(){return e.removeListener(t)}}}),[m,n,a]),(0,r.useMemo)((function(){return{colorMode:c,setColorMode:m,get isDarkTheme(){return c===f},setLightTheme:function(){m(d)},setDarkTheme:function(){m(f)}}}),[c,m])}function m(e){var t=e.children,n=h();return r.createElement(c.Provider,{value:n},t)}function g(){var e=(0,r.useContext)(c);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:function(e,t,n){"use strict";n.d(t,{J:function(){return y},L5:function(){return b}});var r=n(7294),o=n(143),a=n(9935),i=n(6668),s=n(3438),c=n(4700),l=n(12),u=function(e){return"docs-preferred-version-"+e},d=function(e,t,n){(0,l.W)(u(e),{persistence:t}).set(n)},f=function(e,t){return(0,l.W)(u(e),{persistence:t}).get()},p=function(e,t){(0,l.W)(u(e),{persistence:t}).del()};var h=r.createContext(null);function m(){var e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((function(){return Object.keys(e)}),[e]),a=(0,r.useState)((function(){return function(e){return Object.fromEntries(e.map((function(e){return[e,{preferredVersionName:null}]})))}(n)})),s=a[0],c=a[1];return(0,r.useEffect)((function(){c(function(e){var t=e.pluginIds,n=e.versionPersistence,r=e.allDocsData;return Object.fromEntries(t.map((function(e){return[e,(t=e,o=f(t,n),r[t].versions.some((function(e){return e.name===o}))?{preferredVersionName:o}:(p(t,n),{preferredVersionName:null}))];var t,o})))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]),[s,(0,r.useMemo)((function(){return{savePreferredVersion:function(e,n){d(e,t,n),c((function(t){var r;return Object.assign({},t,((r={})[e]={preferredVersionName:n},r))}))}}}),[t])]}function g(e){var t=e.children,n=m();return r.createElement(h.Provider,{value:n},t)}function b(e){var t=e.children;return s.cE?r.createElement(g,null,t):r.createElement(r.Fragment,null,t)}function v(){var e=(0,r.useContext)(h);if(!e)throw new c.i6("DocsPreferredVersionContextProvider");return e}function y(e){var t;void 0===e&&(e=a.m);var n=(0,o.zh)(e),i=v(),s=i[0],c=i[1],l=s[e].preferredVersionName;return{preferredVersion:null!=(t=n.versions.find((function(e){return e.name===l})))?t:null,savePreferredVersionName:(0,r.useCallback)((function(t){c.savePreferredVersion(e,t)}),[c,e])}}},1116:function(e,t,n){"use strict";n.d(t,{V:function(){return c},b:function(){return s}});var r=n(7294),o=n(4700),a=Symbol("EmptyContext"),i=r.createContext(a);function s(e){var t=e.children,n=e.name,o=e.items,a=(0,r.useMemo)((function(){return n&&o?{name:n,items:o}:null}),[n,o]);return r.createElement(i.Provider,{value:a},t)}function c(){var e=(0,r.useContext)(i);if(e===a)throw new o.i6("DocsSidebarProvider");return e}},2961:function(e,t,n){"use strict";n.d(t,{M:function(){return f},e:function(){return p}});var r=n(7294),o=n(3102),a=n(7524),i=n(6775),s=n(4700);function c(e){!function(e){var t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((function(){return t.block((function(e,t){return n(e,t)}))}),[t,n])}((function(t,n){if("POP"===n)return e(t,n)}))}var l=n(6668),u=r.createContext(void 0);function d(){var e,t=(e=(0,o.HY)(),0===(0,l.L)().navbar.items.length&&!e.component),n=(0,a.i)(),i=!t&&"mobile"===n,s=(0,r.useState)(!1),u=s[0],d=s[1];c((function(){if(u)return d(!1),!1}));var f=(0,r.useCallback)((function(){d((function(e){return!e}))}),[]);return(0,r.useEffect)((function(){"desktop"===n&&d(!1)}),[n]),(0,r.useMemo)((function(){return{disabled:t,shouldRender:i,toggle:f,shown:u}}),[t,i,f,u])}function f(e){var t=e.children,n=d();return r.createElement(u.Provider,{value:n},t)}function p(){var e=r.useContext(u);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:function(e,t,n){"use strict";n.d(t,{HY:function(){return s},Zo:function(){return c},n2:function(){return i}});var r=n(7294),o=n(4700),a=r.createContext(null);function i(e){var t=e.children,n=(0,r.useState)({component:null,props:null});return r.createElement(a.Provider,{value:n},t)}function s(){var e=(0,r.useContext)(a);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){var t=e.component,n=e.props,i=(0,r.useContext)(a);if(!i)throw new o.i6("NavbarSecondaryMenuContentProvider");var s=i[1],c=(0,o.Ql)(n);return(0,r.useEffect)((function(){s({component:t,props:c})}),[s,t,c]),(0,r.useEffect)((function(){return function(){return s({component:null,props:null})}}),[s]),null}},7094:function(e,t,n){"use strict";n.d(t,{U:function(){return l},z:function(){return c}});var r=n(7294),o=n(12),a=n(4700),i="docusaurus.tab.",s=r.createContext(void 0);function c(e){var t=e.children,n=function(){var e=(0,r.useState)({}),t=e[0],n=e[1],a=(0,r.useCallback)((function(e,t){(0,o.W)("docusaurus.tab."+e).set(t)}),[]);(0,r.useEffect)((function(){try{var e={};(0,o._)().forEach((function(t){if(t.startsWith(i)){var n=t.substring(i.length);e[n]=(0,o.W)(t).get()}})),n(e)}catch(t){console.error(t)}}),[]);var s=(0,r.useCallback)((function(e,t){n((function(n){var r;return Object.assign({},n,((r={})[e]=t,r))})),a(e,t)}),[a]);return(0,r.useMemo)((function(){return{tabGroupChoices:t,setTabGroupChoices:s}}),[t,s])}();return r.createElement(s.Provider,{value:n},t)}function l(){var e=(0,r.useContext)(s);if(null==e)throw new a.i6("TabGroupChoiceProvider");return e}},9727:function(e,t,n){"use strict";n.d(t,{h:function(){return o},t:function(){return a}});var r=n(7294),o="navigation-with-keyboard";function a(){(0,r.useEffect)((function(){function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),function(){document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:function(e,t,n){"use strict";n.d(t,{i:function(){return l}});var r=n(7294),o=n(412),a="desktop",i="mobile",s="ssr";function c(){return o.Z.canUseDOM?window.innerWidth>996?a:i:s}function l(){var e=(0,r.useState)((function(){return c()})),t=e[0],n=e[1];return(0,r.useEffect)((function(){function e(){n(c())}return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),t}},5281:function(e,t,n){"use strict";n.d(t,{k:function(){return r}});var r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:function(e){return"theme-admonition-"+e}},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:function(e){return"theme-doc-sidebar-item-category-level-"+e},docSidebarItemLinkLevel:function(e){return"theme-doc-sidebar-item-link-level-"+e}},blog:{}}},3438:function(e,t,n){"use strict";n.d(t,{Wl:function(){return p},_F:function(){return m},cE:function(){return f},hI:function(){return w},lO:function(){return v},oz:function(){return y},s1:function(){return b},vY:function(){return E}});var r=n(7872),o=n(7294),a=n(6775),i=n(8790),s=n(143),c=n(373),l=n(1116),u=n(7392),d=n(8596),f=!!s._r;function p(e){if(e.href)return e.href;for(var t,n=(0,r.Z)(e.items);!(t=n()).done;){var o=t.value;if("link"===o.type)return o.href;if("category"===o.type){var a=p(o);if(a)return a}}}var h=function(e,t){return void 0!==e&&(0,d.Mg)(e,t)};function m(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||function(e,t){return e.some((function(e){return m(e,t)}))}(e.items,t))}function g(e){var t=e.sidebarItems,n=e.pathname,o=e.onlyCategories,a=void 0!==o&&o,i=[];return function e(t){for(var o,s=(0,r.Z)(t);!(o=s()).done;){var c=o.value;if("category"===c.type&&((0,d.Mg)(c.href,n)||e(c.items))||"link"===c.type&&(0,d.Mg)(c.href,n))return a&&"category"!==c.type||i.unshift(c),!0}return!1}(t),i}function b(){var e,t=(0,l.V)(),n=(0,a.TH)().pathname;return!1!==(null==(e=(0,s.gA)())?void 0:e.pluginData.breadcrumbs)&&t?g({sidebarItems:t.items,pathname:n}):null}function v(e){var t=(0,s.Iw)(e).activeVersion,n=(0,c.J)(e).preferredVersion,r=(0,s.yW)(e);return(0,o.useMemo)((function(){return(0,u.j)([t,n,r].filter(Boolean))}),[t,n,r])}function y(e,t){var n=v(t);return(0,o.useMemo)((function(){var t=n.flatMap((function(e){return e.sidebars?Object.entries(e.sidebars):[]})),r=t.find((function(t){return t[0]===e}));if(!r)throw new Error("Can't find any sidebar with id \""+e+'" in version'+(n.length>1?"s":"")+" "+n.map((function(e){return e.name})).join(", ")+'".\n Available sidebar ids are:\n - '+Object.keys(t).join("\n- "));return r[1]}),[e,n])}function E(e,t){var n=v(t);return(0,o.useMemo)((function(){var t=n.flatMap((function(e){return e.docs})),r=t.find((function(t){return t.id===e}));if(!r){if(n.flatMap((function(e){return e.draftIds})).includes(e))return null;throw new Error("DocNavbarItem: couldn't find any doc with id \""+e+'" in version'+(n.length>1?"s":"")+" "+n.map((function(e){return e.name})).join(", ")+'".\nAvailable doc ids are:\n- '+(0,u.j)(t.map((function(e){return e.id}))).join("\n- "))}return r}),[e,n])}function w(e){var t=e.route,n=e.versionMetadata,r=(0,a.TH)(),o=t.routes,s=o.find((function(e){return(0,a.LX)(r.pathname,e)}));if(!s)return null;var c=s.sidebar,l=c?n.docsSidebars[c]:void 0;return{docElement:(0,i.H)(o),sidebarName:c,sidebarItems:l}}},7392:function(e,t,n){"use strict";function r(e,t){return void 0===t&&(t=function(e,t){return e===t}),e.filter((function(n,r){return e.findIndex((function(e){return t(e,n)}))!==r}))}function o(e){return Array.from(new Set(e))}n.d(t,{j:function(){return o},l:function(){return r}})},1944:function(e,t,n){"use strict";n.d(t,{FG:function(){return f},d:function(){return u},VC:function(){return p}});var r=n(7294),o=n(7459),a=n(5742),i=n(226);function s(){var e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=n(4996),l=n(2263);function u(e){var t=e.title,n=e.description,o=e.keywords,i=e.image,s=e.children,u=function(e){var t=(0,l.Z)().siteConfig,n=t.title,r=t.titleDelimiter;return null!=e&&e.trim().length?e.trim()+" "+r+" "+n:n}(t),d=(0,c.C)().withBaseUrl,f=i?d(i,{absolute:!0}):void 0;return r.createElement(a.Z,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),o&&r.createElement("meta",{name:"keywords",content:Array.isArray(o)?o.join(","):o}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),s)}var d=r.createContext(void 0);function f(e){var t=e.className,n=e.children,i=r.useContext(d),s=(0,o.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(a.Z,null,r.createElement("html",{className:s})),n)}function p(e){var t=e.children,n=s(),a="plugin-"+n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,""),i="plugin-id-"+n.plugin.id;return r.createElement(f,{className:(0,o.Z)(a,i)},t)}},4700:function(e,t,n){"use strict";n.d(t,{i6:function(){return h},Qc:function(){return g},zX:function(){return f},D9:function(){return p},Ql:function(){return m}});var r=n(7802),o=n(1073);function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}var i=n(9817);function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function c(e,t,n){return c=s()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&(0,i.Z)(o,n.prototype),o},c.apply(null,arguments)}function l(e){var t="function"==typeof Map?new Map:void 0;return l=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return c(e,arguments,a(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,i.Z)(r,e)},l(e)}var u=n(7294),d=n(412).Z.canUseDOM?u.useLayoutEffect:u.useEffect;function f(e){var t=(0,u.useRef)(e);return d((function(){t.current=e}),[e]),(0,u.useCallback)((function(){return t.current.apply(t,arguments)}),[])}function p(e){var t=(0,u.useRef)();return d((function(){t.current=e})),t.current}var h=function(e){function t(t,n){var o,a,i,s,c;return(c=e.call(this)||this).name="ReactContextError",c.message="Hook "+(null!=(o=null==(a=c.stack)||null==(i=a.split("\n")[1])||null==(s=i.match((0,r.Z)(/at (?:\w+\.)?(\w+)/,{name:1})))?void 0:s.groups.name)?o:"")+" is called outside the <"+t+">. "+(null!=n?n:""),c}return(0,o.Z)(t,e),t}(l(Error));function m(e){var t=Object.entries(e);return t.sort((function(e,t){return e[0].localeCompare(t[0])})),(0,u.useMemo)((function(){return e}),t.flat())}function g(e){return function(t){var n=t.children;return u.createElement(u.Fragment,null,e.reduceRight((function(e,t){return u.createElement(t,null,e)}),n))}}},8596:function(e,t,n){"use strict";n.d(t,{Mg:function(){return i},Ns:function(){return s}});var r=n(7294),o=n(723),a=n(2263);function i(e,t){var n=function(e){var t;return null==(t=!e||e.endsWith("/")?e:e+"/")?void 0:t.toLowerCase()};return n(e)===n(t)}function s(){var e=(0,a.Z)().siteConfig.baseUrl;return(0,r.useMemo)((function(){return function(e){var t=e.baseUrl;function n(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0!==t.length)return t.find(n)||e(t.filter(r).flatMap((function(e){var t;return null!=(t=e.routes)?t:[]})))}(e.routes)}({routes:o.Z,baseUrl:e})}),[e])}},2466:function(e,t,n){"use strict";n.d(t,{Ct:function(){return p},OC:function(){return c},RF:function(){return d},o5:function(){return f}});var r=n(7294),o=n(412),a=n(2389),i=n(4700);var s=r.createContext(void 0);function c(e){var t,n=e.children,o=(t=(0,r.useRef)(!0),(0,r.useMemo)((function(){return{scrollEventsEnabledRef:t,enableScrollEvents:function(){t.current=!0},disableScrollEvents:function(){t.current=!1}}}),[]));return r.createElement(s.Provider,{value:o},n)}function l(){var e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}var u=function(){return o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null};function d(e,t){void 0===t&&(t=[]);var n=l().scrollEventsEnabledRef,o=(0,r.useRef)(u()),a=(0,i.zX)(e);(0,r.useEffect)((function(){var e=function(){if(n.current){var e=u();a(e,o.current),o.current=e}},t={passive:!0};return e(),window.addEventListener("scroll",e,t),function(){return window.removeEventListener("scroll",e,t)}}),[a,n].concat(t))}function f(){var e,t,n,o=l(),a=(e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((function(t){e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((function(){var t=e.current,n=t.elem,r=t.top;if(!n)return{restored:!1};var o=n.getBoundingClientRect().top-r;return o&&window.scrollBy({left:0,top:o}),e.current={elem:null,top:0},{restored:0!==o}}),[]),(0,r.useMemo)((function(){return{save:t,restore:n}}),[n,t])),i=(0,r.useRef)(void 0),s=(0,r.useCallback)((function(e){a.save(e),o.disableScrollEvents(),i.current=function(){var e=a.restore().restored;if(i.current=void 0,e){window.addEventListener("scroll",(function e(){o.enableScrollEvents(),window.removeEventListener("scroll",e)}))}else o.enableScrollEvents()}}),[o,a]);return(0,r.useLayoutEffect)((function(){null==i.current||i.current()})),{blockElementScrollPositionUntilNextRender:s}}function p(){var e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:function(n){e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),function(){}}(n):function(e){var t=null,n=document.documentElement.scrollTop>e;return function r(){var o=document.documentElement.scrollTop;(n&&o>e||!n&&ou.length?e(o.substr(u.length),d):n.push(d),c=!0}else for(var f=u.length-1;f>s;f-=1){var p=u.substr(0,f);if(o.substr(0,f)===p){s=f;var h={missed:a.missed,term:a.term.concat({value:p,trailing:!0})};o.length>f?e(o.substr(f),h):n.push(h),c=!0;break}}}c||(o.length>0?e(o.substr(1),{missed:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(e,{missed:0,term:[]}),n.sort((function(e,t){var n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((function(e){return e.term}))}(i,t),l=(0,r.Z)(c);!(s=l()).done;){var u=s.value,d=a.concat.apply(a,u);e(o.slice(1),d)}else{var f=a.concat({value:i});e(o.slice(1),f)}}else n.push(a)}(e,[]),n}var s=n(1029);function c(e){return l(e).concat(l(e.filter((function(e){var t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function l(e,t){return e.map((function(e){return{tokens:e.map((function(e){return e.value})),term:e.map((function(e){return{value:e.value,presence:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE}}))}}))}function u(e,t,n){return function(o,l){var u=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[t[0]].tokenizer(e).map((function(e){return e.toString()}));var n=/[^-\s]+/g;return t.includes("zh")&&(n=/[0-9A-Z_a-z]+|(?:[\u3400-\u4DBF\u4E00-\u9FFF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD884[\uDC00-\uDF4A])+/g),e.toLowerCase().match(n)||[]}(o,s.dK);if(0!==u.length){var d=function(e,t){var n=i(e,t);if(0===n.length)return[{tokens:e,term:e.map((function(e){return{value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING}}))}];for(var o,l=(0,r.Z)(n);!(o=l()).done;){var u=o.value;u[u.length-1].maybeTyping=!0}for(var d,f,p=[],h=(0,r.Z)(s.dK);!(d=h()).done;){var m=d.value;if("en"===m)s._k||p.unshift(a().stopWordFilter);else{var g=a()[m];g.stopWordFilter&&p.unshift(g.stopWordFilter)}}if(p.length>0){var b=function(e){return p.reduce((function(e,t){return e.filter((function(e){return t(e.value)}))}),e)};f=[];for(var v,y=[],E=(0,r.Z)(n);!(v=E()).done;){var w=v.value,x=b(w);f.push(x),x.length0&&y.push(x)}n.push.apply(n,y)}else f=n.slice();for(var k,S=[],_=(0,r.Z)(f);!(k=_()).done;){var T=k.value;if(T.length>2)for(var C=T.length-1;C>=0;C-=1)S.push(T.slice(0,C).concat(T.slice(C+1)))}return c(n).concat(c(S))}(u,t),f=[],p=function(){for(var t,o=h.value,a=o.term,i=o.tokens,s=function(){var o=t.value,s=o.documents,c=o.index,l=o.type;if(f.push.apply(f,c.query((function(e){for(var t,n=(0,r.Z)(a);!(t=n()).done;){var o=t.value;e.term(o.value,{wildcard:o.wildcard,presence:o.presence})}})).slice(0,n).filter((function(e){return!f.some((function(t){return t.document.i.toString()===e.ref}))})).slice(0,n-f.length).map((function(t){var n=s.find((function(e){return e.i.toString()===t.ref}));return{document:n,type:l,page:0!==l&&e[0].documents.find((function(e){return e.i===n.p})),metadata:t.matchData.metadata,tokens:i,score:t.score}}))),f.length>=n)return{v:"break|search"}},c=(0,r.Z)(e);!(t=c()).done;){var l=s();if("object"==typeof l)return l.v}};e:for(var h,m=(0,r.Z)(d);!(h=m()).done;){if("break|search"===p())break e}!function(e){e.forEach((function(e,t){e.index=t})),e.sort((function(t,n){var r=t.type>0&&t.page?e.findIndex((function(e){return e.document===t.page})):t.index,o=n.type>0&&n.page?e.findIndex((function(e){return e.document===n.page})):n.index;return-1===r&&(r=t.index),-1===o&&(o=n.index),r===o?0===t.type?-1:0===n.type?1:t.index-n.index:r-o}))}(f),function(e){e.forEach((function(t,n){n>0&&t.page&&e.some((function(e){return e.document===t.page}))&&(n/g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:function(){return r}})},2775:function(e,t,n){"use strict";function r(e,t){for(var n=[],r=0,o=Object.values(e);r=0){u>0&&s.push(a(e.substr(0,u),t)),s.push(""+(0,o.X)(e.substr(u,l.length))+"");var d=u+l.length;d"+(0,o.X)(e)+"":(0,o.X)(e):s.join("")}},726:function(e,t,n){"use strict";n.d(t,{o:function(){return l}});var r=n(7872),o=n(1690),a=n(2539),i=/[0-9A-Z_a-z]+|(?:[\u3400-\u4DBF\u4E00-\u9FFF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD884[\uDC00-\uDF4A])/;function s(e){for(var t=[],n=0,r=e;r.length>0;){var o=r.match(i);if(!o){t.push(r);break}o.index>0&&t.push(r.substring(0,o.index)),t.push(o[0]),n+=o.index+o[0].length,r=e.substring(n)}return t}var c=n(1029);function l(e,t,n,i){void 0===i&&(i=c.Hk);for(var l=function(e,t,n){var i=[],c=0,l=0,u=-1;for(;cl)for(var h,m=s(e.substring(l,f)).map((function(e){return{html:(0,o.X)(e),textLength:e.length}})),g=(0,r.Z)(m);!(h=g()).done;){var b=h.value;i.push(b)}-1===u&&(u=i.length),l=f+p,i.push({html:(0,a.C)(e.substring(f,l),n,!0),textLength:p})}}if(l0){var w=f.pop();g+w.textLength<=i?(h.unshift(w.html),b+=w.textLength,g+=w.textLength):(y=!0,f.length=0)}else{if(!(m.length>0))break;var x=m.shift();g+x.textLength<=i?(h.push(x.html),v+=x.textLength,g+=x.textLength):(E=!0,m.length=0)}return(y||f.length>0)&&h.unshift("\u2026"),(E||m.length>0)&&h.push("\u2026"),h.join("")}},1029:function(e,t,n){"use strict";n.d(t,{vc:function(){return i()},gQ:function(){return g},H6:function(){return f},l9:function(){return b},dK:function(){return s},_k:function(){return c},pu:function(){return m},AY:function(){return p},t_:function(){return h},J:function(){return l},Hk:function(){return d},qo:function(){return u}});var r=n(1336),o=n.n(r),a=n(813),i=n.n(a);n(892)(o()),n(1728).w(o()),n(4182)(o());var s=["en","zh"],c=!1,l="search-index.json?_=7de9298e",u=8,d=50,f=!0,p=!0,h=!0,m="right",g=void 0,b=!0},1728:function(e,t,n){"use strict";function r(e){var t=new RegExp("^[^"+e+"]+","u"),n=new RegExp("[^"+e+"]+$","u");return function(e){return e.update((function(e){return e.replace(t,"").replace(n,"")}))}}function o(e,t){e.trimmerSupport.generateTrimmer=r,e.zh=function(){this.pipeline.reset(),this.pipeline.add(e.zh.trimmer,e.zh.stopWordFilter),t&&(this.tokenizer=t)},t&&(e.zh.tokenizer=t),e.zh.wordCharacters="\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29\\u{20000}-\\u{2A6DD}\\u{2A700}-\\u{2B734}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{30000}-\\u{3134A}",e.zh.trimmer=e.trimmerSupport.generateTrimmer(e.zh.wordCharacters),e.Pipeline.registerFunction(e.zh.trimmer,"trimmer-zh"),e.zh.stopWordFilter=e.generateStopWordFilter("\u7684 \u4e00 \u4e0d \u5728 \u4eba \u6709 \u662f \u4e3a \u4ee5 \u4e8e \u4e0a \u4ed6 \u800c \u540e \u4e4b \u6765 \u53ca \u4e86 \u56e0 \u4e0b \u53ef \u5230 \u7531 \u8fd9 \u4e0e \u4e5f \u6b64 \u4f46 \u5e76 \u4e2a \u5176 \u5df2 \u65e0 \u5c0f \u6211 \u4eec \u8d77 \u6700 \u518d \u4eca \u53bb \u597d \u53ea \u53c8 \u6216 \u5f88 \u4ea6 \u67d0 \u628a \u90a3 \u4f60 \u4e43 \u5b83 \u5427 \u88ab \u6bd4 \u522b \u8d81 \u5f53 \u4ece \u5230 \u5f97 \u6253 \u51e1 \u513f \u5c14 \u8be5 \u5404 \u7ed9 \u8ddf \u548c \u4f55 \u8fd8 \u5373 \u51e0 \u65e2 \u770b \u636e \u8ddd \u9760 \u5566 \u4e86 \u53e6 \u4e48 \u6bcf \u4eec \u561b \u62ff \u54ea \u90a3 \u60a8 \u51ed \u4e14 \u5374 \u8ba9 \u4ecd \u5565 \u5982 \u82e5 \u4f7f \u8c01 \u867d \u968f \u540c \u6240 \u5979 \u54c7 \u55e1 \u5f80 \u54ea \u4e9b \u5411 \u6cbf \u54df \u7528 \u4e8e \u54b1 \u5219 \u600e \u66fe \u81f3 \u81f4 \u7740 \u8bf8 \u81ea".split(" ")),e.Pipeline.registerFunction(e.zh.stopWordFilter,"stopWordFilter-zh")}n.d(t,{w:function(){return o}})},6010:function(e,t,n){"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!l)for(;d--;d)i.unshift("..");!l||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h},s=n(2177);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,m(),E.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(E.entries[E.index]=o,d({action:r,location:o}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=E.index+e;return t>=0&&t=n&&t[(o-=n)>>3]&1<<(7&o))return this.cursor++,!0}return!1},in_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var o=e.charCodeAt(this.cursor-1);if(o<=r&&o>=n&&t[(o-=n)>>3]&1<<(7&o))return this.cursor--,!0}return!1},out_grouping:function(t,n,r){if(this.cursorr||o>3]&1<<(7&o)))return this.cursor++,!0}return!1},out_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var o=e.charCodeAt(this.cursor-1);if(o>r||o>3]&1<<(7&o)))return this.cursor--,!0}return!1},eq_s:function(t,n){if(this.limit-this.cursor>1),d=0,f=s0||o==r||l)break;l=!0}}for(;;){if(s>=(p=t[r]).s_size){if(this.cursor=a+p.s_size,!p.method)return p.result;var m=p.method();if(this.cursor=a+p.s_size,m)return p.result}if((r=p.substring_i)<0)return 0}},find_among_b:function(t,n){for(var r=0,o=n,a=this.cursor,i=this.limit_backward,s=0,c=0,l=!1;;){for(var u=r+(o-r>>1),d=0,f=s=0;p--){if(a-f==i){d=-1;break}if(d=e.charCodeAt(a-1-f)-h.s[p])break;f++}if(d<0?(o=u,c=f):(r=u,s=f),o-r<=1){if(r>0||o==r||l)break;l=!0}}for(;;){var h;if(s>=(h=t[r]).s_size){if(this.cursor=a-h.s_size,!h.method)return h.result;var m=h.method();if(this.cursor=a-h.s_size,m)return h.result}if((r=h.substring_i)<0)return 0}},replace_s:function(t,n,r){var o=r.length-(n-t),a=e.substring(0,t),i=e.substring(n);return e=a+r+i,this.limit+=o,this.cursor>=n?this.cursor+=o:this.cursor>t&&(this.cursor=t),o},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>e.length)throw"faulty slice operation"},slice_from:function(e){this.slice_check(),this.replace_s(this.bra,this.ket,e)},slice_del:function(){this.slice_from("")},insert:function(e,t,n){var r=this.replace_s(e,t,n);e<=this.bra&&(this.bra+=r),e<=this.ket&&(this.ket+=r)},slice_to:function(){return this.slice_check(),e.substring(this.bra,this.ket)},eq_v_b:function(e){return this.eq_s_b(e.length,e)}}}},e.trimmerSupport={generateTrimmer:function(e){var t=new RegExp("^[^"+e+"]+"),n=new RegExp("[^"+e+"]+$");return function(e){return"function"==typeof e.update?e.update((function(e){return e.replace(t,"").replace(n,"")})):e.replace(t,"").replace(n,"")}}}}})?r.call(t,n,t,e):r)||(e.exports=o)},1336:function(e,t,n){var r,o;!function(){var a,i,s,c,l,u,d,f,p,h,m,g,b,v,y,E,w,x,k,S,_,T,C,L,A,N,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var c=I.utils.clone(t)||{};c.position=[i,s],c.index=o.length,o.push(new I.Token(n.slice(i,a),c))}i=a+1}}return o},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:as?l+=2:i==s&&(t+=n[c+1]*r[l+1],c+=2,l+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new I.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new I.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var c=o.node.edges["*"];else{c=new I.TokenSet;o.node.edges["*"]=c}1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var l,u=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?l=o.node.edges[d]:(l=new I.TokenSet,o.node.edges[d]=l),1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(o.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}},I.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},I.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=o)}()},813:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,c=0;i=Array.prototype.slice.call(i);var l=function(){--s<=0&&a(c)};s||l(),i.forEach((function(t){e.matches(t,o.exclude)?l():o.onIframeReady(t,(function(e){n(t)&&(c++,r(e)),l()}),l)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),s=[],c=[],l=void 0,u=void 0,d=function(){var e=a.getIteratorNode(i);return u=e.prevNode,l=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(l,u,e,s)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return c.push(e)}),r)})),c.push(l);c.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var s=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,s=parseInt(e.start,10)-i;return(r=(s=s>a?a:s)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),s<0||r-s<0||s>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(i.node))return!1;var l=t-i.start,u=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),f=e.value.substr(u+i.start);if(i.node=a.wrapRangeInTextNode(i.node,l,u),e.value=d+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var s=o.index;if(0!==i)for(var c=1;c
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),l=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),c(l,i(e,u,d)),1===e?(c(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){c(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),l=document.querySelector(r.parent);return c(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),l!=document.body&&u(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function l(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;l(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);l(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},7418:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,a){for(var i,s,c=o(e),l=1;l=d.reach);k+=x.value.length,x=x.next){var S=x.value;if(t.length>e.length)return;if(!(S instanceof o)){var _,T=1;if(v){if(!(_=a(w,k,e,b))||_.index>=e.length)break;var C=_.index,L=_.index+_[0].length,A=k;for(A+=x.value.length;C>=A;)A+=(x=x.next).value.length;if(k=A-=x.value.length,x.value instanceof o)continue;for(var N=x;N!==t.tail&&(Ad.reach&&(d.reach=P);var D=x.prev;if(O&&(D=c(t,D,O),k+=O.length),l(t,D,T),x=c(t,D,new o(f,g?r.tokenize(I,g):I,y,I)),R&&c(t,x,R),T>1){var F={cause:f+","+h,reach:P};i(e,t,n,x.prev,k,F),d&&F.reach>d.reach&&(d.reach=F.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function l(e,t,n){for(var r=t.next,o=0;o"+a.content+""},r}(),r=n;n.default=n,r.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^$/i;var o={"included-cdata":{pattern://i,inside:n}};o["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var a={};a[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:o},r.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.c=r.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),r.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),r.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},r.languages.c.string],char:r.languages.c.char,comment:r.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:r.languages.c}}}}),r.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete r.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(r),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(r),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},o={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:o})}(r),r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(r),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(r),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(r),r.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:r.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},r.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var c=n;c=0&&p(l,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function c(t,n,r){var o={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",o),o.tokens=e.tokenize(o.code,o.grammar),e.hooks.run("after-tokenize",o),o.tokens}function l(t){var n={};n["interpolation-punctuation"]=o;var a=e.tokenize(t,n);if(3===a.length){var i=[1,1];i.push.apply(i,c(a[1],e.languages.javascript,"javascript")),a.splice.apply(a,i)}return new e.Token("interpolation",a,r.alias,t)}function u(t,n,r){var o=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),i=0,u={},d=c(o.map((function(e){if("string"==typeof e)return e;for(var n,o=e.content;-1!==t.indexOf(n=s(i++,r)););return u[n]=o,n})).join(""),n,r),f=Object.keys(u);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var o=f[i],a="string"==typeof r?r:r.content,s=a.indexOf(o);if(-1!==s){++i;var c=a.substring(0,s),d=l(u[o]),p=a.substring(s+o.length),h=[];if(c&&h.push(c),h.push(d),p){var m=[p];e(m),h.push.apply(h,m)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(h)),n+=h.length-1):r.content=h}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,o=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(r),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function a(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return o})),RegExp(e,t)}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(o.content[0].content[1])&&n.pop():"/>"===o.content[o.content.length-1].content||n.push({tagName:i(o.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&n.length>0&&0===n[n.length-1].openedBraces){var c=i(o);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(c=i(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",c,null,c)}o.content&&"string"!=typeof o.content&&s(o.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(r),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],o=[];/^\w+$/.test(n)||o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(r),r.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},r.languages.go=r.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),r.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete r.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var c=0;c=a.length);c++){var l=s[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var u=a[o],d=n.tokenStack[u],f="string"==typeof l?l:l.content,p=t(r,u),h=f.indexOf(p);if(h>-1){++o;var m=f.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(h+p.length),v=[];m&&v.push.apply(v,i([m])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof l?s.splice.apply(s,[c,1].concat(v)):l.content=v}}else l.content&&i(l.content)}return s}(n.tokens)}}}})}(r),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(r),r.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},r.languages.webmanifest=r.languages.json,r.languages.less=r.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),r.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),r.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},r.languages.objectivec=r.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete r.languages.objectivec["class-name"],r.languages.objc=r.languages.objectivec,r.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},r.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},r.languages.python["string-interpolation"].inside.interpolation.inside.rest=r.languages.python,r.languages.py=r.languages.python,r.languages.reason=r.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),r.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete r.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(r),r.languages.scss=r.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),r.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),r.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),r.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),r.languages.scss.atrule.inside.rest=r.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(r),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(r),r.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/},t.Z=r},9016:function(){!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}function r(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var o="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",a="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function c(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var l=c(a),u=RegExp(c(o+" "+a+" "+i+" "+s)),d=c(a+" "+i+" "+s),f=c(o+" "+a+" "+s),p=r(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),h=r(/\((?:[^()]|<>)*\)/.source,2),m=/@?\b[A-Za-z_]\w*\b/.source,g=t(/<<0>>(?:\s*<<1>>)?/.source,[m,p]),b=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,g]),v=/\[\s*(?:,\s*)*\]/.source,y=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[b,v]),E=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,h,v]),w=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[E]),x=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[w,b,v]),k={keyword:u,punctuation:/[<>()?,.:[\]]/},S=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,_=/"(?:\\.|[^\\"\r\n])*"/.source,T=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[T]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[_]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[b]),lookbehind:!0,inside:k},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[m,x]),lookbehind:!0,inside:k},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[m]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[l,g]),lookbehind:!0,inside:k},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[b]),lookbehind:!0,inside:k},{pattern:n(/(\bwhere\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:k},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[x,f,m]),inside:k}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[h]),lookbehind:!0,alias:"class-name",inside:k},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[x,b]),inside:k,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[x]),lookbehind:!0,inside:k,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[m,p]),inside:{function:n(/^<<0>>/.source,[m]),generic:{pattern:RegExp(p),alias:"class-name",inside:k}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[l,g,m,x,u.source,h,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[g,h]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:u,"class-name":{pattern:RegExp(x),greedy:!0,inside:k},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var C=_+"|"+S,L=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[C]),A=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[L]),2),N=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,I=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[b,A]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[N,I]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[N]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[A]),inside:e.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var O=/:[^}\r\n]+/.source,R=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[L]),2),P=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[R,O]),D=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[C]),2),F=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[D,O]);function M(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[r,O]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[P]),lookbehind:!0,greedy:!0,inside:M(P,R)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[F]),lookbehind:!0,greedy:!0,inside:M(F,D)}],char:{pattern:RegExp(S),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism)},6862:function(){!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},5266:function(){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},4806:function(e,t,n){var r={"./prism-csharp":9016,"./prism-powershell":6862,"./prism-sql":5266};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=4806},2703:function(e,t,n){"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:function(e,t,n){e.exports=n(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:function(e,t,n){"use strict";var r=n(7294),o=n(7418),a=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n