From cb6c89a448ed78ae865d0d370eb23fb42fd5b215 Mon Sep 17 00:00:00 2001 From: MonkSoul Date: Thu, 22 Sep 2022 17:48:11 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8A=20=E5=8F=91=E5=B8=83=20v4.4.8=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=E6=94=B9=E8=BF=9B=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E6=80=A7=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E9=AB=98=E9=A2=91=E5=8E=8B=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 包含 #I5SJJR:📝 优化远程请求 `HttpClient` 创建方式,避免高频请求 CPU 飙升和抛出异常 功能更新 - 新增 app.UseInject(Action) 重载方法,简化配置 0b645fe - 优化文档更新日志样式 - 发布 v4.4.8 版本文档 - 更新示例项目 samples 依赖至 v4.4.8 版本 - Replit 网站 Furion 案例同步到 v4.4.8 版本 - Gitee 和 Github 发布 Release-v4.4.8 版本 - 同步更新日志 --- .../Furion.Extras.Authentication.JwtBearer.csproj | 2 +- .../Furion.Extras.DatabaseAccessor.Dapper.csproj | 2 +- .../Furion.Extras.DatabaseAccessor.MongoDB.csproj | 2 +- .../Furion.Extras.DatabaseAccessor.SqlSugar.csproj | 2 +- ...rion.Extras.DependencyModel.CodeAnalysis.csproj | 2 +- .../Furion.Extras.Logging.Serilog.csproj | 2 +- .../Furion.Extras.ObjectMapper.Mapster.csproj | 2 +- ...Pure.Extras.DependencyModel.CodeAnalysis.csproj | 2 +- .../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 | 10 +++++----- .../{styles.419c6d1c.css => styles.b31adf2b.css} | 2 +- .../{00ee0bc9.9f006966.js => 00ee0bc9.e8b543af.js} | 2 +- handbook/build/assets/js/4c79e569.292f8a8b.js | 1 - handbook/build/assets/js/4c79e569.65d18b7d.js | 1 + .../{4f2c41ae.0c610184.js => 4f2c41ae.ddfadd21.js} | 2 +- .../{698c3fb7.ce2b9de3.js => 698c3fb7.f6e068b3.js} | 2 +- .../{ace43ec3.62011f1a.js => ace43ec3.fdd06cbc.js} | 2 +- .../{c4f5d8e4.e571c22c.js => c4f5d8e4.09e787c2.js} | 2 +- .../js/{main.87ff5e7a.js => main.df074372.js} | 4 ++-- ...js.LICENSE.txt => main.df074372.js.LICENSE.txt} | 0 ...e~main.1e642d85.js => runtime~main.ad9285b7.js} | 2 +- handbook/build/blog/archive/index.html | 10 +++++----- handbook/build/blog/console/index.html | 10 +++++----- handbook/build/blog/fileupload-download/index.html | 10 +++++----- handbook/build/blog/global-usings/index.html | 10 +++++----- handbook/build/blog/httpcontext/index.html | 10 +++++----- handbook/build/blog/index.html | 10 +++++----- handbook/build/blog/net6-preview5/index.html | 10 +++++----- handbook/build/blog/net6-preview6/index.html | 10 +++++----- handbook/build/blog/net6-preview7/index.html | 10 +++++----- handbook/build/blog/tags/download/index.html | 10 +++++----- handbook/build/blog/tags/furion/index.html | 10 +++++----- handbook/build/blog/tags/furos/index.html | 10 +++++----- handbook/build/blog/tags/httpcontext/index.html | 10 +++++----- handbook/build/blog/tags/index.html | 10 +++++----- handbook/build/blog/tags/net-5/index.html | 10 +++++----- handbook/build/blog/tags/net-6/index.html | 10 +++++----- handbook/build/blog/tags/net/index.html | 10 +++++----- handbook/build/blog/tags/netcore/index.html | 10 +++++----- handbook/build/blog/tags/upload/index.html | 10 +++++----- handbook/build/docs/appstartup/index.html | 10 +++++----- handbook/build/docs/audit/index.html | 10 +++++----- handbook/build/docs/auth-control/index.html | 10 +++++----- handbook/build/docs/author/index.html | 10 +++++----- handbook/build/docs/benchmark/index.html | 10 +++++----- handbook/build/docs/bingfa/index.html | 10 +++++----- handbook/build/docs/cache/index.html | 10 +++++----- 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 | 10 +++++----- .../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 +++++----- .../build/docs/dbcontext-code-first/index.html | 10 +++++----- handbook/build/docs/dbcontext-db-first/index.html | 10 +++++----- handbook/build/docs/dbcontext-delete/index.html | 10 +++++----- .../build/docs/dbcontext-entitytrigger/index.html | 10 +++++----- handbook/build/docs/dbcontext-filter/index.html | 10 +++++----- handbook/build/docs/dbcontext-function/index.html | 10 +++++----- .../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 | 10 +++++----- handbook/build/docs/dbcontext-query/index.html | 10 +++++----- .../build/docs/dbcontext-read-write/index.html | 10 +++++----- .../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 | 10 +++++----- handbook/build/docs/dbcontext-update/index.html | 10 +++++----- handbook/build/docs/dbcontext-view/index.html | 10 +++++----- handbook/build/docs/dbcontext/index.html | 10 +++++----- .../build/docs/dependency-injection/index.html | 10 +++++----- handbook/build/docs/deploy-docker-auto/index.html | 10 +++++----- handbook/build/docs/deploy-docker/index.html | 10 +++++----- 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 | 10 +++++----- handbook/build/docs/efcore-recommend/index.html | 10 +++++----- handbook/build/docs/encryption/index.html | 10 +++++----- handbook/build/docs/entity/index.html | 10 +++++----- handbook/build/docs/event-bus-old/index.html | 10 +++++----- handbook/build/docs/event-bus/index.html | 10 +++++----- handbook/build/docs/file-provider/index.html | 10 +++++----- 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 | 10 +++++----- handbook/build/docs/global/app/index.html | 10 +++++----- .../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 +++++----- .../build/docs/global/jsonserializer/index.html | 10 +++++----- handbook/build/docs/global/jwt/index.html | 10 +++++----- handbook/build/docs/global/l/index.html | 10 +++++----- .../build/docs/global/linqexpression/index.html | 10 +++++----- .../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 | 10 +++++----- 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 | 10 +++++----- handbook/build/docs/inject/index.html | 10 +++++----- 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 | 10 +++++----- handbook/build/docs/local-language/index.html | 10 +++++----- handbook/build/docs/logging/index.html | 10 +++++----- 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 | 12 ++++++------ handbook/build/docs/net6-to-net7/index.html | 12 ++++++------ handbook/build/docs/nuget-local/index.html | 10 +++++----- handbook/build/docs/object-mapper/index.html | 10 +++++----- handbook/build/docs/options/index.html | 10 +++++----- handbook/build/docs/performance/index.html | 10 +++++----- .../build/docs/pillar-of-humiliation/index.html | 10 +++++----- handbook/build/docs/pm2/index.html | 10 +++++----- 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 | 10 +++++----- handbook/build/docs/serverun/index.html | 10 +++++----- handbook/build/docs/sesssion-state/index.html | 10 +++++----- .../build/docs/settings/appsettings/index.html | 10 +++++----- .../docs/settings/corsaccessorsettings/index.html | 10 +++++----- .../dependencyinjectionsettings/index.html | 10 +++++----- .../dynamicapicontrollersettings/index.html | 10 +++++----- .../settings/friendlyexceptionsettings/index.html | 10 +++++----- .../build/docs/settings/jwtsettings/index.html | 10 +++++----- .../docs/settings/localizationsettings/index.html | 10 +++++----- .../specificationdocumentsettings/index.html | 10 +++++----- .../docs/settings/unifyresultsettings/index.html | 10 +++++----- .../validationTypemessagesettings/index.html | 10 +++++----- handbook/build/docs/signalr/index.html | 10 +++++----- handbook/build/docs/singlefile/index.html | 10 +++++----- handbook/build/docs/source/index.html | 10 +++++----- .../build/docs/specification-document/index.html | 12 ++++++------ handbook/build/docs/split-db/index.html | 10 +++++----- handbook/build/docs/sqlsugar-old/index.html | 10 +++++----- handbook/build/docs/sqlsugar/index.html | 10 +++++----- handbook/build/docs/target/index.html | 10 +++++----- handbook/build/docs/template/index.html | 12 ++++++------ handbook/build/docs/tran/index.html | 10 +++++----- handbook/build/docs/unittest/index.html | 10 +++++----- handbook/build/docs/upgrade/index.html | 14 +++++++------- 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 | 12 ++++++------ handbook/build/search-index.json | 2 +- handbook/build/search/index.html | 10 +++++----- handbook/docs/net5-to-net6.mdx | 2 +- handbook/docs/net6-to-net7.mdx | 2 +- handbook/docs/specification-document.mdx | 4 +++- handbook/docs/template.mdx | 4 ++-- handbook/docs/upgrade.mdx | 7 ++++--- handbook/package.json | 2 +- handbook/src/components/Tag.module.css | 12 ++++++------ handbook/src/pages/index.js | 2 +- 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.csproj | 6 +++--- .../FurionMvcTemplate/Furion.Template.Mvc.nuspec | 2 +- .../src/FurionMvc.Core/FurionMvc.Core.csproj | 4 ++-- .../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.csproj | 6 +++--- .../FurionMvcTemplate/Furion.Template.Mvc.nuspec | 2 +- .../src/FurionMvc.Core/FurionMvc.Core.csproj | 4 ++-- .../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 +- .../Furion.Tools/Furion.Tools/Furion.Tools.csproj | 4 ++-- tools/cli.ps1 | 2 +- 218 files changed, 883 insertions(+), 880 deletions(-) rename handbook/build/assets/css/{styles.419c6d1c.css => styles.b31adf2b.css} (81%) rename handbook/build/assets/js/{00ee0bc9.9f006966.js => 00ee0bc9.e8b543af.js} (99%) delete mode 100644 handbook/build/assets/js/4c79e569.292f8a8b.js create mode 100644 handbook/build/assets/js/4c79e569.65d18b7d.js rename handbook/build/assets/js/{4f2c41ae.0c610184.js => 4f2c41ae.ddfadd21.js} (99%) rename handbook/build/assets/js/{698c3fb7.ce2b9de3.js => 698c3fb7.f6e068b3.js} (99%) rename handbook/build/assets/js/{ace43ec3.62011f1a.js => ace43ec3.fdd06cbc.js} (51%) rename handbook/build/assets/js/{c4f5d8e4.e571c22c.js => c4f5d8e4.09e787c2.js} (99%) rename handbook/build/assets/js/{main.87ff5e7a.js => main.df074372.js} (99%) rename handbook/build/assets/js/{main.87ff5e7a.js.LICENSE.txt => main.df074372.js.LICENSE.txt} (100%) rename handbook/build/assets/js/{runtime~main.1e642d85.js => runtime~main.ad9285b7.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 1fc1228797..0a3251cb24 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.4.7 + 4.4.8 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 e892d9b861..817c96d634 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.4.7 + 4.4.8 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 d9abe053ac..7cd1c31354 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.4.7 + 4.4.8 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 44aed9d2c7..5517fa20a6 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.4.7 + 4.4.8 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 6ce7cd91be..c77eae4ce4 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.4.7 + 4.4.8 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 0426c4bbfd..e4eaf7884f 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.4.7 + 4.4.8 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 4deae292ca..7c5093b7ad 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.4.7 + 4.4.8 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 9ed16a8736..e8c878b843 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.4.7 + 4.4.8 Furion 程序集扫描和代码分析拓展插件。 enable diff --git a/framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj b/framework/Furion.Pure.Xunit/Furion.Pure.Xunit.csproj index 8a8546159b..11d06518c8 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.4.7 + 4.4.8 Furion 纯净版 Xunit 单元测试拓展插件。 enable - + diff --git a/framework/Furion.Pure/Furion.Pure.csproj b/framework/Furion.Pure/Furion.Pure.csproj index 67325ed727..9200d69351 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.4.7 + 4.4.8 让 .NET 开发更简单,更通用,更流行。 true enable @@ -26,19 +26,19 @@ - + - + - + diff --git a/framework/Furion.Xunit/Furion.Xunit.csproj b/framework/Furion.Xunit/Furion.Xunit.csproj index 99ac262541..1fa676025b 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.4.7 + 4.4.8 Furion Xunit 单元测试拓展插件。 enable - + diff --git a/framework/Furion/Furion.csproj b/framework/Furion/Furion.csproj index 2ef5bf272e..cb1353f6b5 100644 --- a/framework/Furion/Furion.csproj +++ b/framework/Furion/Furion.csproj @@ -2,7 +2,7 @@ net5.0;net6.0;net7.0 - 4.4.7 + 4.4.8 让 .NET 开发更简单,更通用,更流行。 true enable @@ -26,19 +26,19 @@ - + - + - + diff --git a/handbook/build/404.html b/handbook/build/404.html index ef3f97115e..3a2dfc8b83 100644 --- a/handbook/build/404.html +++ b/handbook/build/404.html @@ -9,14 +9,14 @@ - - - + + +
⭐️ Furion v4 版本支持【所有历史版本】无缝升级,一套代码兼容 .NET 5+ ⭐️

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/css/styles.419c6d1c.css b/handbook/build/assets/css/styles.b31adf2b.css similarity index 81% rename from handbook/build/assets/css/styles.419c6d1c.css rename to handbook/build/assets/css/styles.b31adf2b.css index 92adb1323d..7f8a679dc0 100644 --- a/handbook/build/assets/css/styles.419c6d1c.css +++ b/handbook/build/assets/css/styles.b31adf2b.css @@ -1 +1 @@ -@charset "UTF-8";.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,.playground_CMhS{-webkit-user-select:none;-ms-user-select:none}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.animate__headShake,.animate__heartBeat,.animate__pulse{animation-timing-function:ease-in-out}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}*,.furion-log-item,.furion-who-custom,.furion-who-des,.loadingRing_RJI3 div,.modal_wSGk{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#46cbae;--ifm-color-primary-lighter:#66d4bd;--ifm-color-primary-lightest:#92e0d0;--ifm-code-font-size:95%;--animate-duration:1s;--animate-delay:1s;--animate-repeat:1;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base)}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child,.system-window pre{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_tbUL,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.searchBarContainer_NW3z.searchIndexLoading_EJ1f .searchBarLoadingRing_YnHq{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area.breadcrumbs__link[href]:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:-webkit-any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block,.furion-contributor-item img{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.content_knG7 a,.hitFooter_E9YW a,.suggestion_fB_2.cursor_eG29 mark{text-decoration:underline}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_S0QG>:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.searchResultItem_U687>h2,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_f1Hy{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;top:0;transition-timing-function:ease-in-out;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.docsWrapper_BCFX,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.furion-banner-item,.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input:-ms-input-placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-duration:.25s;transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);position:fixed;right:0;transition-duration:.1s;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_mo7H:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.animate__animated{animation-duration:1s;animation-duration:var(--animate-duration);animation-fill-mode:both}.animate__animated.animate__infinite{animation-iteration-count:infinite}.animate__animated.animate__repeat-1{animation-iteration-count:1;animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{animation-iteration-count:2;animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{animation-iteration-count:3;animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{animation-delay:1s;animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{animation-delay:2s;animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{animation-delay:3s;animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{animation-delay:4s;animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{animation-delay:5s;animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{animation-duration:.5s;animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{animation-duration:.8s;animation-duration:calc(var(--animate-duration)*.8)}.animate__animated.animate__slow{animation-duration:2s;animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{animation-duration:3s;animation-duration:calc(var(--animate-duration)*3)}@keyframes a{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{transform:translateZ(0) scaleY(.95);transition-timing-function:cubic-bezier(.215,.61,.355,1)}90%{transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{animation-name:a;transform-origin:center bottom}@keyframes b{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{animation-name:b}@keyframes c{0%,to{transform:scaleX(1)}50%{transform:scale3d(1.05,1.05,1.05)}}.animate__pulse{animation-name:c}@keyframes d{0%,to{transform:scaleX(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}}.animate__rubberBand{animation-name:d}@keyframes e{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}.animate__shakeX{animation-name:e}@keyframes f{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(0,-10px,0)}20%,40%,60%,80%{transform:translate3d(0,10px,0)}}.animate__shakeY{animation-name:f}@keyframes g{0%,50%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}}.animate__headShake{animation-name:g}@keyframes h{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.animate__swing{animation-name:h;transform-origin:top center}@keyframes i{0%,to{transform:scaleX(1)}10%,20%{transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}}.animate__tada{animation-name:i}@keyframes j{0%,to{transform:translateZ(0)}15%{transform:translate3d(-25%,0,0) rotate(-5deg)}30%{transform:translate3d(20%,0,0) rotate(3deg)}45%{transform:translate3d(-15%,0,0) rotate(-3deg)}60%{transform:translate3d(10%,0,0) rotate(2deg)}75%{transform:translate3d(-5%,0,0) rotate(-1deg)}}.animate__wobble{animation-name:j}@keyframes k{0%,11.1%,to{transform:translateZ(0)}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{transform:skewX(.390625deg) skewY(.390625deg)}88.8%{transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{animation-name:k;transform-origin:center}@keyframes l{0%,28%,70%{transform:scale(1)}14%,42%{transform:scale(1.3)}}.animate__heartBeat{animation-duration:1.3s;animation-duration:calc(var(--animate-duration)*1.3);animation-name:l}@keyframes m{0%{opacity:.7;transform:translateY(-1200px) scale(.7)}80%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInDown{animation-name:m}@keyframes n{0%{opacity:.7;transform:translateX(-2000px) scale(.7)}80%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInLeft{animation-name:n}@keyframes o{0%{opacity:.7;transform:translateX(2000px) scale(.7)}80%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInRight{animation-name:o}@keyframes p{0%{opacity:.7;transform:translateY(1200px) scale(.7)}80%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInUp{animation-name:p}@keyframes q{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:.7;transform:translateY(700px) scale(.7)}}.animate__backOutDown{animation-name:q}@keyframes r{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:.7;transform:translateX(-2000px) scale(.7)}}.animate__backOutLeft{animation-name:r}@keyframes s{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:.7;transform:translateX(2000px) scale(.7)}}.animate__backOutRight{animation-name:s}@keyframes t{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:.7;transform:translateY(-700px) scale(.7)}}.animate__backOutUp{animation-name:t}@keyframes u{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scaleX(1)}}.animate__bounceIn{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:u}@keyframes v{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;transform:translate3d(0,25px,0) scaleY(.9)}75%{transform:translate3d(0,-10px,0) scaleY(.95)}90%{transform:translate3d(0,5px,0) scaleY(.985)}to{transform:translateZ(0)}}.animate__bounceInDown{animation-name:v}@keyframes w{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;transform:translate3d(25px,0,0) scaleX(1)}75%{transform:translate3d(-10px,0,0) scaleX(.98)}90%{transform:translate3d(5px,0,0) scaleX(.995)}to{transform:translateZ(0)}}.animate__bounceInLeft{animation-name:w}@keyframes x{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;transform:translate3d(-25px,0,0) scaleX(1)}75%{transform:translate3d(10px,0,0) scaleX(.98)}90%{transform:translate3d(-5px,0,0) scaleX(.995)}to{transform:translateZ(0)}}.animate__bounceInRight{animation-name:x}@keyframes y{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;transform:translate3d(0,-20px,0) scaleY(.9)}75%{transform:translate3d(0,10px,0) scaleY(.95)}90%{transform:translate3d(0,-5px,0) scaleY(.985)}to{transform:translateZ(0)}}.animate__bounceInUp{animation-name:y}@keyframes z{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.animate__bounceOut{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:z}@keyframes A{20%{transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{animation-name:A}@keyframes B{20%{opacity:1;transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{animation-name:B}@keyframes C{20%{opacity:1;transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{animation-name:C}@keyframes D{20%{transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{animation-name:D}@keyframes E{0%{opacity:0}to{opacity:1}}.animate__fadeIn{animation-name:E}@keyframes F{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInDown{animation-name:F}@keyframes G{0%{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInDownBig{animation-name:G}@keyframes H{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInLeft{animation-name:H}@keyframes I{0%{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInLeftBig{animation-name:I}@keyframes J{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInRight{animation-name:J}@keyframes K{0%{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInRightBig{animation-name:K}@keyframes L{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInUp{animation-name:L}@keyframes M{0%{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInUpBig{animation-name:M}@keyframes N{0%{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInTopLeft{animation-name:N}@keyframes O{0%{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInTopRight{animation-name:O}@keyframes P{0%{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInBottomLeft{animation-name:P}@keyframes Q{0%{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInBottomRight{animation-name:Q}@keyframes R{0%{opacity:1}to{opacity:0}}.animate__fadeOut{animation-name:R}@keyframes S{0%{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}.animate__fadeOutDown{animation-name:S}@keyframes T{0%{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{animation-name:T}@keyframes U{0%{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{animation-name:U}@keyframes V{0%{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{animation-name:V}@keyframes W{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}.animate__fadeOutRight{animation-name:W}@keyframes X{0%{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{animation-name:X}@keyframes Y{0%{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{animation-name:Y}@keyframes Z{0%{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{animation-name:Z}@keyframes aa{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{animation-name:aa}@keyframes ba{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{animation-name:ba}@keyframes ca{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{animation-name:ca}@keyframes da{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{animation-name:da}@keyframes ea{0%{animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0)}to{animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0)}}.animate__animated.animate__flip{animation-name:ea;-webkit-backface-visibility:visible;backface-visibility:visible}@keyframes fa{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}.animate__flipInX{animation-name:fa;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.animate__flipInY,.animate__flipOutX{-webkit-backface-visibility:visible!important}@keyframes ga{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{opacity:1;transform:perspective(400px) rotateY(10deg)}80%{transform:perspective(400px) rotateY(-5deg)}to{transform:perspective(400px)}}.animate__flipInY{animation-name:ga;backface-visibility:visible!important}@keyframes ha{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.animate__flipOutX{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:ha;backface-visibility:visible!important}@keyframes ia{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateY(-15deg)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}.animate__flipOutY{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:ia;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@keyframes ja{0%{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translateZ(0)}}.animate__lightSpeedInRight{animation-name:ja;animation-timing-function:ease-out}@keyframes ka{0%{opacity:0;transform:translate3d(-100%,0,0) skewX(30deg)}60%{opacity:1;transform:skewX(-20deg)}80%{transform:skewX(5deg)}to{transform:translateZ(0)}}.animate__lightSpeedInLeft{animation-name:ka;animation-timing-function:ease-out}@keyframes la{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.animate__lightSpeedOutRight{animation-name:la;animation-timing-function:ease-in}@keyframes ma{0%{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0) skewX(-30deg)}}.animate__lightSpeedOutLeft{animation-name:ma;animation-timing-function:ease-in}@keyframes na{0%{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateIn{animation-name:na;transform-origin:center}@keyframes oa{0%{opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateInDownLeft{animation-name:oa;transform-origin:left bottom}.animate__rotateInDownRight{animation-name:pa;transform-origin:right bottom}@keyframes pa{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateInUpLeft{animation-name:pa;transform-origin:left bottom}@keyframes qa{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateInUpRight{animation-name:qa;transform-origin:right bottom}@keyframes ra{0%{opacity:1}to{opacity:0;transform:rotate(200deg)}}.animate__rotateOut{animation-name:ra;transform-origin:center}@keyframes sa{0%{opacity:1}to{opacity:0;transform:rotate(45deg)}}.animate__rotateOutDownLeft{animation-name:sa;transform-origin:left bottom}.animate__rotateOutDownRight{animation-name:ta;transform-origin:right bottom}@keyframes ta{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutUpLeft{animation-name:ta;transform-origin:left bottom}@keyframes ua{0%{opacity:1}to{opacity:0;transform:rotate(90deg)}}.animate__rotateOutUpRight{animation-name:ua;transform-origin:right bottom}@keyframes va{0%{animation-timing-function:ease-in-out}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg)}40%,80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg)}to{opacity:0;transform:translate3d(0,700px,0)}}.animate__hinge{animation-duration:2s;animation-duration:calc(var(--animate-duration)*2);animation-name:va;transform-origin:top left}@keyframes wa{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.animate__jackInTheBox{animation-name:wa}@keyframes xa{0%{opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;transform:translateZ(0)}}.animate__rollIn{animation-name:xa}@keyframes ya{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{animation-name:ya}@keyframes za{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{animation-name:za}@keyframes Aa{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.animate__zoomInDown{animation-name:Aa}@keyframes Ba{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.animate__zoomInLeft{animation-name:Ba}@keyframes Ca{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.animate__zoomInRight{animation-name:Ca}@keyframes Da{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.animate__zoomInUp{animation-name:Da}@keyframes Ea{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{animation-name:Ea}@keyframes Fa{40%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0)}}.animate__zoomOutDown{animation-name:Fa;transform-origin:center bottom}@keyframes Ga{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{animation-name:Ga;transform-origin:left center}@keyframes Ha{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{animation-name:Ha;transform-origin:right center}@keyframes Ia{40%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0)}}.animate__zoomOutUp{animation-name:Ia;transform-origin:center bottom}@keyframes Ja{0%{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInDown{animation-name:Ja}@keyframes Ka{0%{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInLeft{animation-name:Ka}@keyframes La{0%{transform:translate3d(100%,0,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInRight{animation-name:La}@keyframes Ma{0%{transform:translate3d(0,100%,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInUp{animation-name:Ma}@keyframes Na{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0);visibility:hidden}}.animate__slideOutDown{animation-name:Na}@keyframes Oa{0%{transform:translateZ(0)}to{transform:translate3d(-100%,0,0);visibility:hidden}}.animate__slideOutLeft{animation-name:Oa}@keyframes Pa{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0);visibility:hidden}}.animate__slideOutRight{animation-name:Pa}@keyframes Qa{0%{transform:translateZ(0)}to{transform:translate3d(0,-100%,0);visibility:hidden}}.animate__slideOutUp{animation-name:Qa}.furion-give-me-star{background-color:#182c61;color:#ff0;font-size:14px;padding:.6em;position:relative;text-align:center}.furion-gitee-star{margin-left:7px;position:relative;vertical-align:middle}.button_plxA{background:#8759ff;border-radius:5px;bottom:10px;color:#fff;cursor:pointer;padding:0 10px;position:fixed;right:10px;z-index:1000000}.modal_wSGk{background-color:rgba(0,0,0,.8);display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:99999}.sidebar_re4s,.tableOfContents_jeP5{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto}.announcementBar_mb4j,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.playground_CMhS{border-radius:8px;height:80vh;margin-top:50px;user-select:none;width:80vw}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#docusaurus-base-url-issue-banner-container,.collapseSidebarButton_PEFL,.docSidebarContainer_b6E3,.hideAction_vcyE>svg,.sidebarLogo_F_0z,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);box-shadow:var(--ifm-global-shadow-lw);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}[data-theme=dark] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_kk6K,.noResults_l6Q3{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_qbY6 .suggestion_fB_2{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2:not(:last-child){margin-bottom:4px}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2.cursor_eG29{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_E9YW a,.hitIcon_a7Zy,.hitPath_ieM4,.hitTree_kk6K,.noResultsIcon_EBY5{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_a7Zy,html[data-theme=dark] .hitPath_ieM4,html[data-theme=dark] .hitTree_kk6K,html[data-theme=dark] .noResultsIcon_EBY5{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_kk6K>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_a7Zy,.hitTree_kk6K>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_NqkB,.hitIcon_a7Zy{height:20px;width:20px}.hitWrapper_sAK8{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_sAK8 mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_vyVt{font-size:.9em}.hitPath_ieM4{font-size:.75em}.hitPath_ieM4,.hitTitle_vyVt{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.noResults_l6Q3{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_EBY5{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_E9YW{font-size:.85em;margin-top:var(--search-local-spacing,12px);text-align:center}.cursor_eG29 .hideAction_vcyE>svg,.tocCollapsibleContent_vkbj a{display:block}.suggestion_fB_2.cursor_eG29,.suggestion_fB_2.cursor_eG29 .hitIcon_a7Zy,.suggestion_fB_2.cursor_eG29 .hitPath_ieM4,.suggestion_fB_2.cursor_eG29 .hitTree_kk6K,.suggestion_fB_2.cursor_eG29 mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_NW3z{margin-left:16px}.searchBarContainer_NW3z .searchBarLoadingRing_YnHq{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_NW3z .searchClearButton_qk4g{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.navbar__search{position:relative}.searchIndexLoading_EJ1f .navbar__search-input{background-image:none}.searchHintContainer_Pkmr{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_iIMx{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_RJI3{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_RJI3 div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite Ra;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) transparent transparent transparent;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_RJI3 div:first-child{animation-delay:-.45s}.loadingRing_RJI3 div:nth-child(2){animation-delay:-.3s}.loadingRing_RJI3 div:nth-child(3){animation-delay:-.15s}@keyframes Ra{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.footerLogoLink_DDai{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_DDai:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_z2l0{flex:1 0 auto}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.searchQueryInput_CFBF{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_U687{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_uIbk{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_oZHr{font-style:italic;margin:.5rem 0 0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.label_p8vM{align-items:center;border-radius:3px;color:#fff;display:inline-flex;font-size:12px;line-height:normal;margin-left:-3px;padding:4px 5px;vertical-align:middle}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.icon_knQK,.label_p8vM{margin-right:4px}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity .2s ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:-webkit-sticky;position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:.5rem;font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_Nnez{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:.15s;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;-ms-user-select:none;user-select:none}.hash-link:before{content:"#"}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_jeP5{position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.breadcrumbHomeIcon_OVgt{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.furion-banner{align-items:center;background-color:#211b50;color:#fff;padding:4rem 2rem}.furion-banner-container{display:flex;justify-content:space-between;margin:0 auto;max-width:1140px}.furion-banner-project{font-size:1.5em;font-weight:700}.furion-banner-description{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(81deg,#8759ff,#3fc4fe,#42ffac);font-size:2.5em;font-weight:700;line-height:1.25;margin:24px 0}.furion-banner-spec{font-family:Muli;font-size:1em;font-weight:500;line-height:1.33;opacity:.7;padding:0}.furion-banner-spec li{list-style:none;margin-bottom:1em;padding-left:1em;position:relative}.furion-banner-spec li:before{background-color:#8759ff;content:"";height:4px;left:0;position:absolute;top:.5em;width:4px}.furion-support-platform{color:#fff;font-family:Muli;font-size:.85em;font-weight:500;line-height:2;margin-top:3em;opacity:.6}.furion-support-icons{display:flex;margin-top:12px}.furion-support-icons span{margin-right:20px}.furion-get-start,.furion-try-demo{background:#8759ff;border-radius:2em;color:#fff;display:inline-block;line-height:1.5;margin-top:4em;min-width:145px;padding:8px 32px;position:relative;text-align:center;text-decoration:none;white-space:nowrap}.furion-try-demo{background-color:#21b091;margin-left:20px}.furion-get-start:hover{background:rgba(135,89,255,.9)}.furion-try-demo:hover{opacity:.9}.furion-banner-item .system-window{width:34rem}.furion-get-start:hover,.furion-try-demo:hover{color:#fff;text-decoration:none}.system-top-bar{background-image:linear-gradient(90deg,rgba(136,89,255,.2),rgba(63,196,254,.2) 90%,rgba(66,255,172,.2));padding:.25em 1em}.system-top-bar-circle{border-radius:50%;display:inline-block;filter:brightness(100%);height:.5em;margin-left:.3em;width:.5em}.system-window{--ifm-leading:0;background:#211b50;border-radius:1em;overflow:hidden;padding:0;width:95%}.system-window iframe{border-radius:unset}.blue-accent{--uni-border-color:#3fbbfe;--uni-box-shadow-color:rgba(63,187,254,.1);--ifm-menu-color-active:#3fbbfe}.preview-border{border:1px solid #3fbbfe;box-shadow:0 6px 58px 0 rgba(63,187,254,.1)}.furion-content{margin-bottom:4em;margin-top:4em;text-align:center}.furion-small-title{color:#412a94;font-family:Muli;font-size:1em;font-weight:600;letter-spacing:1px;opacity:.6}.furion-big-title.dark,.furion-contributor-item.dark a,.furion-log-number span.dark,.furion-remark-p p.dark,.furion-small-title.dark{color:#f5f6f7}.furion-big-title{color:#412a94;font-family:Poppins;font-size:2em;font-weight:700;line-height:1.31;margin-bottom:2em}.furion-gitee-log{display:flex;flex-wrap:nowrap;justify-content:center}.furion-log-item{height:173px;margin-right:65px;position:relative;width:260px}.furion-log-jiao{background:#fff;border-right:1px dashed #a795e8;border-top:1px dashed #a795e8;height:100px;position:absolute;right:-6px;top:-6px;width:100px}.furion-log-jiao.dark{background:#18191a}.furion-log-item:last-child{margin-right:0}.furion-log-number{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%;z-index:2}.furion-log-number div{font-size:3em;font-weight:700}.furion-log-number span{color:#1c1e21;font-family:Poppins,sans-serif;font-stretch:normal;font-style:normal;letter-spacing:normal;line-height:normal}.furion-remark{display:flex;justify-content:center}.furion-remark-item{border-image-slice:1;border-image-source:linear-gradient(var(--uni-border-gradient-degrees),#8759ff,#3fc4fe 51%,#42ffac);border-style:solid;border-width:6px;height:100%;margin:2em;max-width:320px;padding:4em 2em}.furion-remark-item:first-child{--uni-border-gradient-degrees:41deg;border-right:0;border-top:0}.furion-remark-item:nth-child(2){--uni-border-gradient-degrees:100deg;border:0}.furion-remark-item:last-child{--uni-border-gradient-degrees:221deg;border-bottom:0;border-left:0}.furion-remark-p{height:150px}.furion-remark-p h1{font-size:24px}.furion-remark-p p,.furion-who-des p{font-family:Muli;font-size:1em;line-height:1.75;opacity:.8}.furion-remark-p p{color:#474747;text-align:center}.furion-whouse{align-items:center;background-color:#412a94!important;color:#fff;display:flex;padding:5rem 0}.furion-who-custom{align-items:center;background-color:#fff;color:#723cff;display:flex;flex-wrap:wrap;justify-content:flex-end;min-height:500px;padding:6rem;text-align:right;width:60%}.furion-custom-img{color:transparent;margin-left:3em;text-decoration:none}.furion-who-des{padding:0 5rem}.furion-who-des p{color:#fff;margin-bottom:.8em}.footer{background-color:#211b50!important}.furion-links{margin:4em;text-align:center}.furion-links-content a{display:inline-block;font-size:20px;font-weight:600;margin:0 1em}.furion-contributors,.furion-proccesson{margin:4em 0;text-align:center}#dotnet-china{height:100px}.furion-contributor-item{background-color:#f3f3f3;border-radius:4px;box-shadow:4px 3px 16px -3px #0009;box-sizing:border-box;color:#333;display:inline-block;height:170px;margin:10px 5px;overflow:hidden;padding:10px;position:relative;text-align:center;width:130px}.furion-contributor-extra{background-color:#412a94;border-radius:4px;color:#fff;font-size:12px;padding:2px 5px;position:absolute;right:0;text-align:left;top:-9px}.furion-contributor-item a{color:#333;display:block;font-size:10pt;font-weight:700;text-decoration:none}.furion-contributor-item div{margin-top:10px}.furion-contributor-item.dark{background:#333}.furion-get-start-btn{display:flex;position:relative}.furion-version{color:#ff0;font-size:16px;position:absolute;right:0;top:-10px;z-index:10}.navbar{background-color:#211b50}.navbar__brand,.navbar__items,.navbar__link{color:#fff}.navbar__link--active,.navbar__link:hover{color:#ff0}.menu__list-item .navbar__link--active,.menu__list-item .navbar__link:hover{color:#743dff}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:-webkit-sticky;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_mhZE{display:flex;flex-direction:column;height:100%;max-height:100vh;padding-top:var(--ifm-navbar-height);position:-webkit-sticky;position:sticky;top:0;transition:opacity 50ms;width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar__6UL{padding-top:0}.sidebarHidden__LRd{height:0;opacity:0;overflow:hidden;visibility:hidden}.sidebarLogo_F_0z{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_F_0z img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;display:flex;height:100%;justify-content:center;max-height:100vh;position:-webkit-sticky;position:sticky;top:0;transition:background-color var(--ifm-transition-fast) ease}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media screen and (max-width:1024px){.furion-banner-container{flex-direction:column;justify-content:unset}.furion-get-start-btn{text-align:center}#dotnet-china{height:45px}.furion-banner-item .system-window{margin-top:3rem;width:100%}.furion-gitee-log{align-items:center;flex-direction:column;flex-wrap:unset;justify-content:center;padding:20px}.furion-log-item{height:173px;margin-right:0;margin-top:25px;width:100%}.furion-big-title{margin-bottom:1em}.furion-remark,.furion-whouse{flex-direction:column}.furion-whouse{padding-bottom:1em}.furion-who-des{padding-bottom:2em;padding-top:1em}.furion-remark-item{border:none;margin:0;max-width:unset;padding-bottom:0;width:100%}.furion-custom-img{margin-bottom:2em;margin-left:0}.furion-custom-img img{max-width:unset}.furion-who-custom{align-items:center;justify-content:center;text-align:center;width:100%}.furion-contributors{margin:4em 0}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.sidebar_re4s,.tableOfContents_jeP5{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_hgFs{padding:0 .3rem}}@media not (max-width:996px){.searchBar_RVTs.searchBarLeft_MXDe .dropdownMenu_qbY6{left:0!important;right:auto!important}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.navbar__search-input:not(:focus){width:2rem}.searchBar_RVTs .dropdownMenu_qbY6{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_NW3z:not(.focused_OWtg) .searchClearButton_qk4g,.searchHintContainer_Pkmr{display:none}.title_f1Hy{font-size:2rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}}@media (prefers-reduced-motion:reduce),print{.animate__animated{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.animate__animated[class*=Out]{opacity:0}} \ No newline at end of file +@charset "UTF-8";.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,.playground_CMhS{-webkit-user-select:none;-ms-user-select:none}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.animate__headShake,.animate__heartBeat,.animate__pulse{animation-timing-function:ease-in-out}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}*,.furion-log-item,.furion-who-custom,.furion-who-des,.loadingRing_RJI3 div,.modal_wSGk{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#46cbae;--ifm-color-primary-lighter:#66d4bd;--ifm-color-primary-lightest:#92e0d0;--ifm-code-font-size:95%;--animate-duration:1s;--animate-delay:1s;--animate-repeat:1;--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base)}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child,.system-window pre{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_tbUL,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.searchBarContainer_NW3z.searchIndexLoading_EJ1f .searchBarLoadingRing_YnHq{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area.breadcrumbs__link[href]:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:-webkit-any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block,.furion-contributor-item img{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.content_knG7 a,.hitFooter_E9YW a,.suggestion_fB_2.cursor_eG29 mark{text-decoration:underline}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_S0QG>:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.searchResultItem_U687>h2,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_f1Hy{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;top:0;transition-timing-function:ease-in-out;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.docsWrapper_BCFX,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.furion-banner-item,.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input:-ms-input-placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-duration:.25s;transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);position:fixed;right:0;transition-duration:.1s;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_mo7H:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.animate__animated{animation-duration:1s;animation-duration:var(--animate-duration);animation-fill-mode:both}.animate__animated.animate__infinite{animation-iteration-count:infinite}.animate__animated.animate__repeat-1{animation-iteration-count:1;animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{animation-iteration-count:2;animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{animation-iteration-count:3;animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{animation-delay:1s;animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{animation-delay:2s;animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{animation-delay:3s;animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{animation-delay:4s;animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{animation-delay:5s;animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{animation-duration:.5s;animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{animation-duration:.8s;animation-duration:calc(var(--animate-duration)*.8)}.animate__animated.animate__slow{animation-duration:2s;animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{animation-duration:3s;animation-duration:calc(var(--animate-duration)*3)}@keyframes a{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{transform:translateZ(0) scaleY(.95);transition-timing-function:cubic-bezier(.215,.61,.355,1)}90%{transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{animation-name:a;transform-origin:center bottom}@keyframes b{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{animation-name:b}@keyframes c{0%,to{transform:scaleX(1)}50%{transform:scale3d(1.05,1.05,1.05)}}.animate__pulse{animation-name:c}@keyframes d{0%,to{transform:scaleX(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}}.animate__rubberBand{animation-name:d}@keyframes e{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}.animate__shakeX{animation-name:e}@keyframes f{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(0,-10px,0)}20%,40%,60%,80%{transform:translate3d(0,10px,0)}}.animate__shakeY{animation-name:f}@keyframes g{0%,50%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}}.animate__headShake{animation-name:g}@keyframes h{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.animate__swing{animation-name:h;transform-origin:top center}@keyframes i{0%,to{transform:scaleX(1)}10%,20%{transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}}.animate__tada{animation-name:i}@keyframes j{0%,to{transform:translateZ(0)}15%{transform:translate3d(-25%,0,0) rotate(-5deg)}30%{transform:translate3d(20%,0,0) rotate(3deg)}45%{transform:translate3d(-15%,0,0) rotate(-3deg)}60%{transform:translate3d(10%,0,0) rotate(2deg)}75%{transform:translate3d(-5%,0,0) rotate(-1deg)}}.animate__wobble{animation-name:j}@keyframes k{0%,11.1%,to{transform:translateZ(0)}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{transform:skewX(.390625deg) skewY(.390625deg)}88.8%{transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{animation-name:k;transform-origin:center}@keyframes l{0%,28%,70%{transform:scale(1)}14%,42%{transform:scale(1.3)}}.animate__heartBeat{animation-duration:1.3s;animation-duration:calc(var(--animate-duration)*1.3);animation-name:l}@keyframes m{0%{opacity:.7;transform:translateY(-1200px) scale(.7)}80%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInDown{animation-name:m}@keyframes n{0%{opacity:.7;transform:translateX(-2000px) scale(.7)}80%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInLeft{animation-name:n}@keyframes o{0%{opacity:.7;transform:translateX(2000px) scale(.7)}80%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInRight{animation-name:o}@keyframes p{0%{opacity:.7;transform:translateY(1200px) scale(.7)}80%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInUp{animation-name:p}@keyframes q{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:.7;transform:translateY(700px) scale(.7)}}.animate__backOutDown{animation-name:q}@keyframes r{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:.7;transform:translateX(-2000px) scale(.7)}}.animate__backOutLeft{animation-name:r}@keyframes s{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateX(0) scale(.7)}to{opacity:.7;transform:translateX(2000px) scale(.7)}}.animate__backOutRight{animation-name:s}@keyframes t{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0) scale(.7)}to{opacity:.7;transform:translateY(-700px) scale(.7)}}.animate__backOutUp{animation-name:t}@keyframes u{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scaleX(1)}}.animate__bounceIn{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:u}@keyframes v{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;transform:translate3d(0,25px,0) scaleY(.9)}75%{transform:translate3d(0,-10px,0) scaleY(.95)}90%{transform:translate3d(0,5px,0) scaleY(.985)}to{transform:translateZ(0)}}.animate__bounceInDown{animation-name:v}@keyframes w{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;transform:translate3d(25px,0,0) scaleX(1)}75%{transform:translate3d(-10px,0,0) scaleX(.98)}90%{transform:translate3d(5px,0,0) scaleX(.995)}to{transform:translateZ(0)}}.animate__bounceInLeft{animation-name:w}@keyframes x{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;transform:translate3d(-25px,0,0) scaleX(1)}75%{transform:translate3d(10px,0,0) scaleX(.98)}90%{transform:translate3d(-5px,0,0) scaleX(.995)}to{transform:translateZ(0)}}.animate__bounceInRight{animation-name:x}@keyframes y{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;transform:translate3d(0,-20px,0) scaleY(.9)}75%{transform:translate3d(0,10px,0) scaleY(.95)}90%{transform:translate3d(0,-5px,0) scaleY(.985)}to{transform:translateZ(0)}}.animate__bounceInUp{animation-name:y}@keyframes z{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.animate__bounceOut{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:z}@keyframes A{20%{transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{animation-name:A}@keyframes B{20%{opacity:1;transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{animation-name:B}@keyframes C{20%{opacity:1;transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{animation-name:C}@keyframes D{20%{transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{animation-name:D}@keyframes E{0%{opacity:0}to{opacity:1}}.animate__fadeIn{animation-name:E}@keyframes F{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInDown{animation-name:F}@keyframes G{0%{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInDownBig{animation-name:G}@keyframes H{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInLeft{animation-name:H}@keyframes I{0%{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInLeftBig{animation-name:I}@keyframes J{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInRight{animation-name:J}@keyframes K{0%{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInRightBig{animation-name:K}@keyframes L{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInUp{animation-name:L}@keyframes M{0%{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInUpBig{animation-name:M}@keyframes N{0%{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInTopLeft{animation-name:N}@keyframes O{0%{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInTopRight{animation-name:O}@keyframes P{0%{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInBottomLeft{animation-name:P}@keyframes Q{0%{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translateZ(0)}}.animate__fadeInBottomRight{animation-name:Q}@keyframes R{0%{opacity:1}to{opacity:0}}.animate__fadeOut{animation-name:R}@keyframes S{0%{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}.animate__fadeOutDown{animation-name:S}@keyframes T{0%{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{animation-name:T}@keyframes U{0%{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{animation-name:U}@keyframes V{0%{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{animation-name:V}@keyframes W{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}.animate__fadeOutRight{animation-name:W}@keyframes X{0%{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{animation-name:X}@keyframes Y{0%{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{animation-name:Y}@keyframes Z{0%{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{animation-name:Z}@keyframes aa{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{animation-name:aa}@keyframes ba{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{animation-name:ba}@keyframes ca{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{animation-name:ca}@keyframes da{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{animation-name:da}@keyframes ea{0%{animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0)}to{animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0)}}.animate__animated.animate__flip{animation-name:ea;-webkit-backface-visibility:visible;backface-visibility:visible}@keyframes fa{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}.animate__flipInX{animation-name:fa;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.animate__flipInY,.animate__flipOutX{-webkit-backface-visibility:visible!important}@keyframes ga{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{opacity:1;transform:perspective(400px) rotateY(10deg)}80%{transform:perspective(400px) rotateY(-5deg)}to{transform:perspective(400px)}}.animate__flipInY{animation-name:ga;backface-visibility:visible!important}@keyframes ha{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.animate__flipOutX{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:ha;backface-visibility:visible!important}@keyframes ia{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateY(-15deg)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}.animate__flipOutY{animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75);animation-name:ia;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@keyframes ja{0%{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translateZ(0)}}.animate__lightSpeedInRight{animation-name:ja;animation-timing-function:ease-out}@keyframes ka{0%{opacity:0;transform:translate3d(-100%,0,0) skewX(30deg)}60%{opacity:1;transform:skewX(-20deg)}80%{transform:skewX(5deg)}to{transform:translateZ(0)}}.animate__lightSpeedInLeft{animation-name:ka;animation-timing-function:ease-out}@keyframes la{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.animate__lightSpeedOutRight{animation-name:la;animation-timing-function:ease-in}@keyframes ma{0%{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0) skewX(-30deg)}}.animate__lightSpeedOutLeft{animation-name:ma;animation-timing-function:ease-in}@keyframes na{0%{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateIn{animation-name:na;transform-origin:center}@keyframes oa{0%{opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateInDownLeft{animation-name:oa;transform-origin:left bottom}.animate__rotateInDownRight{animation-name:pa;transform-origin:right bottom}@keyframes pa{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateInUpLeft{animation-name:pa;transform-origin:left bottom}@keyframes qa{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:translateZ(0)}}.animate__rotateInUpRight{animation-name:qa;transform-origin:right bottom}@keyframes ra{0%{opacity:1}to{opacity:0;transform:rotate(200deg)}}.animate__rotateOut{animation-name:ra;transform-origin:center}@keyframes sa{0%{opacity:1}to{opacity:0;transform:rotate(45deg)}}.animate__rotateOutDownLeft{animation-name:sa;transform-origin:left bottom}.animate__rotateOutDownRight{animation-name:ta;transform-origin:right bottom}@keyframes ta{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutUpLeft{animation-name:ta;transform-origin:left bottom}@keyframes ua{0%{opacity:1}to{opacity:0;transform:rotate(90deg)}}.animate__rotateOutUpRight{animation-name:ua;transform-origin:right bottom}@keyframes va{0%{animation-timing-function:ease-in-out}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg)}40%,80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg)}to{opacity:0;transform:translate3d(0,700px,0)}}.animate__hinge{animation-duration:2s;animation-duration:calc(var(--animate-duration)*2);animation-name:va;transform-origin:top left}@keyframes wa{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.animate__jackInTheBox{animation-name:wa}@keyframes xa{0%{opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;transform:translateZ(0)}}.animate__rollIn{animation-name:xa}@keyframes ya{0%{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{animation-name:ya}@keyframes za{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{animation-name:za}@keyframes Aa{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.animate__zoomInDown{animation-name:Aa}@keyframes Ba{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.animate__zoomInLeft{animation-name:Ba}@keyframes Ca{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.animate__zoomInRight{animation-name:Ca}@keyframes Da{0%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.animate__zoomInUp{animation-name:Da}@keyframes Ea{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{animation-name:Ea}@keyframes Fa{40%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0)}}.animate__zoomOutDown{animation-name:Fa;transform-origin:center bottom}@keyframes Ga{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{animation-name:Ga;transform-origin:left center}@keyframes Ha{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{animation-name:Ha;transform-origin:right center}@keyframes Ia{40%{animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0)}}.animate__zoomOutUp{animation-name:Ia;transform-origin:center bottom}@keyframes Ja{0%{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInDown{animation-name:Ja}@keyframes Ka{0%{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInLeft{animation-name:Ka}@keyframes La{0%{transform:translate3d(100%,0,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInRight{animation-name:La}@keyframes Ma{0%{transform:translate3d(0,100%,0);visibility:visible}to{transform:translateZ(0)}}.animate__slideInUp{animation-name:Ma}@keyframes Na{0%{transform:translateZ(0)}to{transform:translate3d(0,100%,0);visibility:hidden}}.animate__slideOutDown{animation-name:Na}@keyframes Oa{0%{transform:translateZ(0)}to{transform:translate3d(-100%,0,0);visibility:hidden}}.animate__slideOutLeft{animation-name:Oa}@keyframes Pa{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0);visibility:hidden}}.animate__slideOutRight{animation-name:Pa}@keyframes Qa{0%{transform:translateZ(0)}to{transform:translate3d(0,-100%,0);visibility:hidden}}.animate__slideOutUp{animation-name:Qa}.furion-give-me-star{background-color:#182c61;color:#ff0;font-size:14px;padding:.6em;position:relative;text-align:center}.furion-gitee-star{margin-left:7px;position:relative;vertical-align:middle}.button_plxA{background:#8759ff;border-radius:5px;bottom:10px;color:#fff;cursor:pointer;padding:0 10px;position:fixed;right:10px;z-index:1000000}.modal_wSGk{background-color:rgba(0,0,0,.8);display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:99999}.sidebar_re4s,.tableOfContents_jeP5{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto}.announcementBar_mb4j,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.playground_CMhS{border-radius:8px;height:80vh;margin-top:50px;user-select:none;width:80vw}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#docusaurus-base-url-issue-banner-container,.collapseSidebarButton_PEFL,.docSidebarContainer_b6E3,.hideAction_vcyE>svg,.sidebarLogo_F_0z,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);box-shadow:var(--ifm-global-shadow-lw);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}[data-theme=dark] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_kk6K,.noResults_l6Q3{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_qbY6 .suggestion_fB_2{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2:not(:last-child){margin-bottom:4px}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2.cursor_eG29{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_E9YW a,.hitIcon_a7Zy,.hitPath_ieM4,.hitTree_kk6K,.noResultsIcon_EBY5{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_a7Zy,html[data-theme=dark] .hitPath_ieM4,html[data-theme=dark] .hitTree_kk6K,html[data-theme=dark] .noResultsIcon_EBY5{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_kk6K>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_a7Zy,.hitTree_kk6K>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_NqkB,.hitIcon_a7Zy{height:20px;width:20px}.hitWrapper_sAK8{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_sAK8 mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_vyVt{font-size:.9em}.hitPath_ieM4{font-size:.75em}.hitPath_ieM4,.hitTitle_vyVt{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.noResults_l6Q3{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_EBY5{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_E9YW{font-size:.85em;margin-top:var(--search-local-spacing,12px);text-align:center}.cursor_eG29 .hideAction_vcyE>svg,.tocCollapsibleContent_vkbj a{display:block}.suggestion_fB_2.cursor_eG29,.suggestion_fB_2.cursor_eG29 .hitIcon_a7Zy,.suggestion_fB_2.cursor_eG29 .hitPath_ieM4,.suggestion_fB_2.cursor_eG29 .hitTree_kk6K,.suggestion_fB_2.cursor_eG29 mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_NW3z{margin-left:16px}.searchBarContainer_NW3z .searchBarLoadingRing_YnHq{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_NW3z .searchClearButton_qk4g{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.navbar__search{position:relative}.searchIndexLoading_EJ1f .navbar__search-input{background-image:none}.searchHintContainer_Pkmr{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_iIMx{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_RJI3{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_RJI3 div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite Ra;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) transparent transparent transparent;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_RJI3 div:first-child{animation-delay:-.45s}.loadingRing_RJI3 div:nth-child(2){animation-delay:-.3s}.loadingRing_RJI3 div:nth-child(3){animation-delay:-.15s}@keyframes Ra{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.footerLogoLink_DDai{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_DDai:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_z2l0{flex:1 0 auto}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.searchQueryInput_CFBF{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_U687{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_uIbk{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_oZHr{font-style:italic;margin:.5rem 0 0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.label_p8vM{align-items:center;border-radius:3px;color:#fff;display:inline-flex;font-size:12px;line-height:normal;margin-left:-3px;margin-right:6px;padding:4px 6px;vertical-align:middle}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.icon_knQK{margin-right:4px}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity .2s ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:-webkit-sticky;position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:.5rem;font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_Nnez{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:.15s;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;-ms-user-select:none;user-select:none}.hash-link:before{content:"#"}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_jeP5{position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.breadcrumbHomeIcon_OVgt{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.furion-banner{align-items:center;background-color:#211b50;color:#fff;padding:4rem 2rem}.furion-banner-container{display:flex;justify-content:space-between;margin:0 auto;max-width:1140px}.furion-banner-project{font-size:1.5em;font-weight:700}.furion-banner-description{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(81deg,#8759ff,#3fc4fe,#42ffac);font-size:2.5em;font-weight:700;line-height:1.25;margin:24px 0}.furion-banner-spec{font-family:Muli;font-size:1em;font-weight:500;line-height:1.33;opacity:.7;padding:0}.furion-banner-spec li{list-style:none;margin-bottom:1em;padding-left:1em;position:relative}.furion-banner-spec li:before{background-color:#8759ff;content:"";height:4px;left:0;position:absolute;top:.5em;width:4px}.furion-support-platform{color:#fff;font-family:Muli;font-size:.85em;font-weight:500;line-height:2;margin-top:3em;opacity:.6}.furion-support-icons{display:flex;margin-top:12px}.furion-support-icons span{margin-right:20px}.furion-get-start,.furion-try-demo{background:#8759ff;border-radius:2em;color:#fff;display:inline-block;line-height:1.5;margin-top:4em;min-width:145px;padding:8px 32px;position:relative;text-align:center;text-decoration:none;white-space:nowrap}.furion-try-demo{background-color:#21b091;margin-left:20px}.furion-get-start:hover{background:rgba(135,89,255,.9)}.furion-try-demo:hover{opacity:.9}.furion-banner-item .system-window{width:34rem}.furion-get-start:hover,.furion-try-demo:hover{color:#fff;text-decoration:none}.system-top-bar{background-image:linear-gradient(90deg,rgba(136,89,255,.2),rgba(63,196,254,.2) 90%,rgba(66,255,172,.2));padding:.25em 1em}.system-top-bar-circle{border-radius:50%;display:inline-block;filter:brightness(100%);height:.5em;margin-left:.3em;width:.5em}.system-window{--ifm-leading:0;background:#211b50;border-radius:1em;overflow:hidden;padding:0;width:95%}.system-window iframe{border-radius:unset}.blue-accent{--uni-border-color:#3fbbfe;--uni-box-shadow-color:rgba(63,187,254,.1);--ifm-menu-color-active:#3fbbfe}.preview-border{border:1px solid #3fbbfe;box-shadow:0 6px 58px 0 rgba(63,187,254,.1)}.furion-content{margin-bottom:4em;margin-top:4em;text-align:center}.furion-small-title{color:#412a94;font-family:Muli;font-size:1em;font-weight:600;letter-spacing:1px;opacity:.6}.furion-big-title.dark,.furion-contributor-item.dark a,.furion-log-number span.dark,.furion-remark-p p.dark,.furion-small-title.dark{color:#f5f6f7}.furion-big-title{color:#412a94;font-family:Poppins;font-size:2em;font-weight:700;line-height:1.31;margin-bottom:2em}.furion-gitee-log{display:flex;flex-wrap:nowrap;justify-content:center}.furion-log-item{height:173px;margin-right:65px;position:relative;width:260px}.furion-log-jiao{background:#fff;border-right:1px dashed #a795e8;border-top:1px dashed #a795e8;height:100px;position:absolute;right:-6px;top:-6px;width:100px}.furion-log-jiao.dark{background:#18191a}.furion-log-item:last-child{margin-right:0}.furion-log-number{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%;z-index:2}.furion-log-number div{font-size:3em;font-weight:700}.furion-log-number span{color:#1c1e21;font-family:Poppins,sans-serif;font-stretch:normal;font-style:normal;letter-spacing:normal;line-height:normal}.furion-remark{display:flex;justify-content:center}.furion-remark-item{border-image-slice:1;border-image-source:linear-gradient(var(--uni-border-gradient-degrees),#8759ff,#3fc4fe 51%,#42ffac);border-style:solid;border-width:6px;height:100%;margin:2em;max-width:320px;padding:4em 2em}.furion-remark-item:first-child{--uni-border-gradient-degrees:41deg;border-right:0;border-top:0}.furion-remark-item:nth-child(2){--uni-border-gradient-degrees:100deg;border:0}.furion-remark-item:last-child{--uni-border-gradient-degrees:221deg;border-bottom:0;border-left:0}.furion-remark-p{height:150px}.furion-remark-p h1{font-size:24px}.furion-remark-p p,.furion-who-des p{font-family:Muli;font-size:1em;line-height:1.75;opacity:.8}.furion-remark-p p{color:#474747;text-align:center}.furion-whouse{align-items:center;background-color:#412a94!important;color:#fff;display:flex;padding:5rem 0}.furion-who-custom{align-items:center;background-color:#fff;color:#723cff;display:flex;flex-wrap:wrap;justify-content:flex-end;min-height:500px;padding:6rem;text-align:right;width:60%}.furion-custom-img{color:transparent;margin-left:3em;text-decoration:none}.furion-who-des{padding:0 5rem}.furion-who-des p{color:#fff;margin-bottom:.8em}.footer{background-color:#211b50!important}.furion-links{margin:4em;text-align:center}.furion-links-content a{display:inline-block;font-size:20px;font-weight:600;margin:0 1em}.furion-contributors,.furion-proccesson{margin:4em 0;text-align:center}#dotnet-china{height:100px}.furion-contributor-item{background-color:#f3f3f3;border-radius:4px;box-shadow:4px 3px 16px -3px #0009;box-sizing:border-box;color:#333;display:inline-block;height:170px;margin:10px 5px;overflow:hidden;padding:10px;position:relative;text-align:center;width:130px}.furion-contributor-extra{background-color:#412a94;border-radius:4px;color:#fff;font-size:12px;padding:2px 5px;position:absolute;right:0;text-align:left;top:-9px}.furion-contributor-item a{color:#333;display:block;font-size:10pt;font-weight:700;text-decoration:none}.furion-contributor-item div{margin-top:10px}.furion-contributor-item.dark{background:#333}.furion-get-start-btn{display:flex;position:relative}.furion-version{color:#ff0;font-size:16px;position:absolute;right:0;top:-10px;z-index:10}.navbar{background-color:#211b50}.navbar__brand,.navbar__items,.navbar__link{color:#fff}.navbar__link--active,.navbar__link:hover{color:#ff0}.menu__list-item .navbar__link--active,.menu__list-item .navbar__link:hover{color:#743dff}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:-webkit-sticky;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_mhZE{display:flex;flex-direction:column;height:100%;max-height:100vh;padding-top:var(--ifm-navbar-height);position:-webkit-sticky;position:sticky;top:0;transition:opacity 50ms;width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar__6UL{padding-top:0}.sidebarHidden__LRd{height:0;opacity:0;overflow:hidden;visibility:hidden}.sidebarLogo_F_0z{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_F_0z img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;display:flex;height:100%;justify-content:center;max-height:100vh;position:-webkit-sticky;position:sticky;top:0;transition:background-color var(--ifm-transition-fast) ease}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media screen and (max-width:1024px){.furion-banner-container{flex-direction:column;justify-content:unset}.furion-get-start-btn{text-align:center}#dotnet-china{height:45px}.furion-banner-item .system-window{margin-top:3rem;width:100%}.furion-gitee-log{align-items:center;flex-direction:column;flex-wrap:unset;justify-content:center;padding:20px}.furion-log-item{height:173px;margin-right:0;margin-top:25px;width:100%}.furion-big-title{margin-bottom:1em}.furion-remark,.furion-whouse{flex-direction:column}.furion-whouse{padding-bottom:1em}.furion-who-des{padding-bottom:2em;padding-top:1em}.furion-remark-item{border:none;margin:0;max-width:unset;padding-bottom:0;width:100%}.furion-custom-img{margin-bottom:2em;margin-left:0}.furion-custom-img img{max-width:unset}.furion-who-custom{align-items:center;justify-content:center;text-align:center;width:100%}.furion-contributors{margin:4em 0}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.sidebar_re4s,.tableOfContents_jeP5{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_hgFs{padding:0 .3rem}}@media not (max-width:996px){.searchBar_RVTs.searchBarLeft_MXDe .dropdownMenu_qbY6{left:0!important;right:auto!important}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.navbar__search-input:not(:focus){width:2rem}.searchBar_RVTs .dropdownMenu_qbY6{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_NW3z:not(.focused_OWtg) .searchClearButton_qk4g,.searchHintContainer_Pkmr{display:none}.title_f1Hy{font-size:2rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}}@media (prefers-reduced-motion:reduce),print{.animate__animated{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.animate__animated[class*=Out]{opacity:0}} \ No newline at end of file diff --git a/handbook/build/assets/js/00ee0bc9.9f006966.js b/handbook/build/assets/js/00ee0bc9.e8b543af.js similarity index 99% rename from handbook/build/assets/js/00ee0bc9.9f006966.js rename to handbook/build/assets/js/00ee0bc9.e8b543af.js index f83c7f6deb..bed1420c08 100644 --- a/handbook/build/assets/js/00ee0bc9.9f006966.js +++ b/handbook/build/assets/js/00ee0bc9.e8b543af.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.4.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 +"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.4.8")," \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.292f8a8b.js b/handbook/build/assets/js/4c79e569.292f8a8b.js deleted file mode 100644 index 660b779f06..0000000000 --- a/handbook/build/assets/js/4c79e569.292f8a8b.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)")," \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")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"[BodyBytes]")," \u8bbe\u8ba1\uff0c\u91c7\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"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)("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)("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)("a",{parentName:"li",href:"https://gitee.com/dotnetchina/Furion/issues/I5SDK5"},"#I5SDK5")))),(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")," \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)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.SqlSugar")," \u62d3\u5c55\u63d2\u4ef6\u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"[SqlSugarUnitOfWork]")," \u5de5\u4f5c\u5355\u5143\u7279\u6027\uff0c\u5c06\u4f7f\u7528\u901a\u7528\u5de5\u4f5c\u5355\u5143\u66ff\u6362\uff0c",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"/furion/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)("inlineCode",{parentName:"li"},"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:"li"},"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:"/furion/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)("strong",{parentName:"li"},"\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:"/furion/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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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)("inlineCode",{parentName:"li"},"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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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)("inlineCode",{parentName:"li"},"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)("inlineCode",{parentName:"li"},"Scoped")," \u6240\u6709\u5e26\u8fd4\u56de\u503c\u65b9\u6cd5 ",(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"},"\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)("inlineCode",{parentName:"li"},"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")," \u5168\u5c40\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"Request Body")," \u91cd\u590d\u8bfb\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"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)("inlineCode",{parentName:"li"},"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")," \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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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.65d18b7d.js b/handbook/build/assets/js/4c79e569.65d18b7d.js new file mode 100644 index 0000000000..a6f9f161be --- /dev/null +++ b/handbook/build/assets/js/4c79e569.65d18b7d.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)")," \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")," \u8fdc\u7a0b\u8bf7\u6c42 ",(0,l.kt)("inlineCode",{parentName:"li"},"[BodyBytes]")," \u8bbe\u8ba1\uff0c\u91c7\u7528 ",(0,l.kt)("inlineCode",{parentName:"li"},"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)("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"},(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")," \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)("inlineCode",{parentName:"li"},"Furion.Extras.DatabaseAccessor.SqlSugar")," \u62d3\u5c55\u63d2\u4ef6\u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"[SqlSugarUnitOfWork]")," \u5de5\u4f5c\u5355\u5143\u7279\u6027\uff0c\u5c06\u4f7f\u7528\u901a\u7528\u5de5\u4f5c\u5355\u5143\u66ff\u6362\uff0c",(0,l.kt)("strong",{parentName:"li"},(0,l.kt)("a",{parentName:"strong",href:"/furion/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)("inlineCode",{parentName:"li"},"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:"li"},"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:"/furion/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)("strong",{parentName:"li"},"\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:"/furion/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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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)("inlineCode",{parentName:"li"},"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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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)("inlineCode",{parentName:"li"},"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)("inlineCode",{parentName:"li"},"Scoped")," \u6240\u6709\u5e26\u8fd4\u56de\u503c\u65b9\u6cd5 ",(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"},"\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)("inlineCode",{parentName:"li"},"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")," \u5168\u5c40\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"Request Body")," \u91cd\u590d\u8bfb\u5904\u7406 ",(0,l.kt)("inlineCode",{parentName:"li"},"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)("inlineCode",{parentName:"li"},"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")," \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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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.0c610184.js b/handbook/build/assets/js/4f2c41ae.ddfadd21.js similarity index 99% rename from handbook/build/assets/js/4f2c41ae.0c610184.js rename to handbook/build/assets/js/4f2c41ae.ddfadd21.js index 1fbbeefaf5..88f536ff7c 100644 --- a/handbook/build/assets/js/4f2c41ae.0c610184.js +++ b/handbook/build/assets/js/4f2c41ae.ddfadd21.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.4.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 +"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.4.8")," \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.ce2b9de3.js b/handbook/build/assets/js/698c3fb7.f6e068b3.js similarity index 99% rename from handbook/build/assets/js/698c3fb7.ce2b9de3.js rename to handbook/build/assets/js/698c3fb7.f6e068b3.js index cfad65feeb..d2eb18d516 100644 --- a/handbook/build/assets/js/698c3fb7.ce2b9de3.js +++ b/handbook/build/assets/js/698c3fb7.f6e068b3.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.4.7\n// SqlSugar\ndotnet new --install Furion.SqlSugar.Template.Mvc::4.4.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 +"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.4.8\n// SqlSugar\ndotnet new --install Furion.SqlSugar.Template.Mvc::4.4.8\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.62011f1a.js b/handbook/build/assets/js/ace43ec3.fdd06cbc.js similarity index 51% rename from handbook/build/assets/js/ace43ec3.62011f1a.js rename to handbook/build/assets/js/ace43ec3.fdd06cbc.js index b7ce794a17..9c232e1233 100644 --- a/handbook/build/assets/js/ace43ec3.62011f1a.js +++ b/handbook/build/assets/js/ace43ec3.fdd06cbc.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.')})),h=null!=k?k:C.map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes}})),b=(0,o.l)(h,(function(e,n){return e.value===n.value}));if(b.length>0)throw new Error('Docusaurus error: Duplicate values "'+b.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.');var f=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!==f&&!h.some((function(e){return e.value===f})))throw new Error('Docusaurus error: The has a defaultValue "'+f+'" but none of its children has the corresponding value. Available values are: '+h.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");var w=(0,p.U)(),v=w.tabGroupChoices,S=w.setTabGroupChoices,y=(0,a.useState)(f),A=y[0],T=y[1],F=[],I=(0,s.o5)().blockElementScrollPositionUntilNextRender;if(null!=g){var L=v[g];null!=L&&L!==A&&h.some((function(e){return e.value===L}))&&T(L)}var D=function(e){var n=e.currentTarget,t=F.indexOf(n),i=h[t].value;i!==A&&(I(n),T(i),null!=g&&S(g,String(i)))},x=function(e){var n,t=null;switch(e.key){case"ArrowRight":var i,a=F.indexOf(e.currentTarget)+1;t=null!=(i=F[a])?i:F[0];break;case"ArrowLeft":var r,l=F.indexOf(e.currentTarget)-1;t=null!=(r=F[l])?r:F[F.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)},h.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 F.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:"/furion/docs/specification-document",draft:!1,editUrl:"https://gitee.com/dotnetchina/Furion/tree/v4/handbook/docs/specification-document.mdx",tags:[],version:"current",lastUpdatedBy:"MonkSoul",lastUpdatedAt:1663565340,formattedLastUpdatedAt:"Sep 19, 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:"/furion/docs/clientapi"},next:{title:"7. \u53cb\u597d\u5f02\u5e38\u5904\u7406",permalink:"/furion/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.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.8.1 \u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",id:"681-\u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",level:3},{value:"6.9 \u53cd\u9988\u4e0e\u5efa\u8bae",id:"69-\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 {5,10}",showLineNumbers:!0,"{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\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://dotnetchina.gitee.io/furion)\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://dotnetchina.gitee.io/furion). 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://dotnetchina.gitee.io/furion)\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://dotnetchina.gitee.io/furion) 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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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)("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,35,46,58}",showLineNumbers:!0,"":!0,"{15-16,24,35,46,58}":!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 }\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 }\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 }\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)("h3",{id:"681-\u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879"},"6.8.1 \u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\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\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},"public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n{\n return new JsonResult(data, new JsonSerializerOptions { ... });\n}\n")),(0,r.kt)("h2",{id:"69-\u53cd\u9988\u4e0e\u5efa\u8bae"},"6.9 \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.')})),h=null!=k?k:C.map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes}})),b=(0,o.l)(h,(function(e,n){return e.value===n.value}));if(b.length>0)throw new Error('Docusaurus error: Duplicate values "'+b.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.');var f=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!==f&&!h.some((function(e){return e.value===f})))throw new Error('Docusaurus error: The has a defaultValue "'+f+'" but none of its children has the corresponding value. Available values are: '+h.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");var w=(0,p.U)(),v=w.tabGroupChoices,S=w.setTabGroupChoices,y=(0,a.useState)(f),A=y[0],T=y[1],F=[],I=(0,s.o5)().blockElementScrollPositionUntilNextRender;if(null!=g){var L=v[g];null!=L&&L!==A&&h.some((function(e){return e.value===L}))&&T(L)}var D=function(e){var n=e.currentTarget,t=F.indexOf(n),i=h[t].value;i!==A&&(I(n),T(i),null!=g&&S(g,String(i)))},x=function(e){var n,t=null;switch(e.key){case"ArrowRight":var i,a=F.indexOf(e.currentTarget)+1;t=null!=(i=F[a])?i:F[0];break;case"ArrowLeft":var r,l=F.indexOf(e.currentTarget)-1;t=null!=(r=F[l])?r:F[F.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)},h.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 F.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:"/furion/docs/specification-document",draft:!1,editUrl:"https://gitee.com/dotnetchina/Furion/tree/v4/handbook/docs/specification-document.mdx",tags:[],version:"current",lastUpdatedBy:"MonkSoul",lastUpdatedAt:1663565340,formattedLastUpdatedAt:"Sep 19, 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:"/furion/docs/clientapi"},next:{title:"7. \u53cb\u597d\u5f02\u5e38\u5904\u7406",permalink:"/furion/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.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.8.1 \u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",id:"681-\u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879",level:3},{value:"6.9 \u53cd\u9988\u4e0e\u5efa\u8bae",id:"69-\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://dotnetchina.gitee.io/furion)\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://dotnetchina.gitee.io/furion). 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://dotnetchina.gitee.io/furion)\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://dotnetchina.gitee.io/furion) 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://dotnetchina.gitee.io/furion/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://dotnetchina.gitee.io/furion/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)("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,35,46,58}",showLineNumbers:!0,"":!0,"{15-16,24,35,46,58}":!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 }\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 }\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 }\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)("h3",{id:"681-\u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\u65b9\u6cd5\u914d\u7f6e\u5e8f\u5217\u5316\u9009\u9879"},"6.8.1 \u9488\u5bf9\u7279\u522b\u63a7\u5236\u5668\u6216\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\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs",metastring:"showLineNumbers {3}",showLineNumbers:!0,"{3}":!0},"public IActionResult OnSucceeded(ActionExecutedContext context, object data)\n{\n return new JsonResult(data, new JsonSerializerOptions { ... });\n}\n")),(0,r.kt)("h2",{id:"69-\u53cd\u9988\u4e0e\u5efa\u8bae"},"6.9 \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.e571c22c.js b/handbook/build/assets/js/c4f5d8e4.09e787c2.js similarity index 99% rename from handbook/build/assets/js/c4f5d8e4.e571c22c.js rename to handbook/build/assets/js/c4f5d8e4.09e787c2.js index c05437c267..14376ff720 100644 --- a/handbook/build/assets/js/c4f5d8e4.e571c22c.js +++ b/handbook/build/assets/js/c4f5d8e4.09e787c2.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 re}});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/RRQMSocket",text:"RRQMSocket",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,I,z,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 R(){return R=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,B=function(e){var t=e.title,l=e.titleId,a=L(e,P);return p.createElement("svg",R({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"})),I||(I=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"})),z||(z=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 Q,X=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,V||(V=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,Q||(Q=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(X,{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.4.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"}},"3800 +"),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,406,995"),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\u8fc7 300\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,I,z,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 R(){return R=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,B=function(e){var t=e.title,l=e.titleId,a=L(e,P);return p.createElement("svg",R({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"})),I||(I=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"})),z||(z=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 Q,X=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,V||(V=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,Q||(Q=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(X,{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.4.8")),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"}},"3800 +"),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,406,995"),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\u8fc7 300\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);n1?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=i.forwardRef(h)},5999:function(e,t,n){"use strict";n.d(t,{Z:function(){return u},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 i=n(7529);function a(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=i[null!=r?r:o])?n:o)?t:r}function s(e,t){return o(a({message:e.message,id:e.id}),t)}function u(e){var t=e.children,n=e.id,i=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=a({message:t,id:n});return r.createElement(r.Fragment,null,o(s,i))}},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 i},Z:function(){return a}});var r=n(2263),o=n(3919);function i(){var e=(0,r.Z)().siteConfig,t=e.baseUrl,n=e.url;return{withBaseUrl:function(e,r){return function(e,t,n,r){var i=void 0===r?{}:r,a=i.forcePrependBaseUrl,s=void 0!==a&&a,u=i.absolute,c=void 0!==u&&u;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(s)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;var l=n.startsWith(t)?n:t+n.replace(/^\//,"");return c?e+l:l}(n,t,e,r)}}}function a(e,t){return void 0===t&&(t={}),(0,i().withBaseUrl)(e,t)}},2263:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(7294),o=n(8940);function i(){return(0,r.useContext)(o._)}},2389:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(7294),o=n(8934);function i(){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,i=n[0],a=n[1],s=r?r+"."+i:i;"object"==typeof(o=a)&&o&&Object.keys(o).length>0?e(a,s):t[s]=a}))}(e),t}},226:function(e,t,n){"use strict";n.d(t,{_:function(){return o},z:function(){return i}});var r=n(7294),o=r.createContext(null);function i(e){var t=e.children,n=e.value,i=r.useContext(o),a=(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:i,value:n})}),[i,n]);return r.createElement(o.Provider,{value:a},t)}},143:function(e,t,n){"use strict";n.d(t,{Iw:function(){return m},gA:function(){return f},_r:function(){return l},Jo:function(){return g},zh:function(){return d},yW:function(){return h},gB:function(){return p}});var r=n(6775),o=n(2263),i=n(9935);function a(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 u(e,t){var n,o,i=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),a=null==i?void 0:i.docs.find((function(e){return!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})}));return{activeVersion:i,activeDoc:a,alternateDocVersions:a?(n=a.id,o={},e.versions.forEach((function(e){e.docs.forEach((function(t){t.id===n&&(o[e.name]=t)}))})),o):{}}}var c={},l=function(){var e;return null!=(e=a("docusaurus-plugin-content-docs"))?e:c},d=function(e){return function(e,t,n){void 0===t&&(t=i.m),void 0===n&&(n={});var r=a(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})})),i=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!i&&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 i}(l(),(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 u(d(e),(0,r.TH)().pathname)}function g(e){return function(e,t){var n=s(e);return{latestDocSuggestion:u(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 i={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=i},3310:function(e,t,n){"use strict";n.r(t);var r,o,i=n(7410),a=n(6809);r=i.Z,o=a.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 i}});var r=n(7294),o="iconExternalLink_nPIU";function i(e){var t=e.width,n=void 0===t?13.5:t,i=e.height,a=void 0===i?13.5:i;return r.createElement("svg",{width:n,height:a,"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),i=n(4763),a=n(1944),s=n(5281),u=n(9727),c=n(5999),l=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,l.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,c.I)({id:"theme.common.skipToMainContent"})},r.createElement("a",{href:"#",className:p,onClick:n},r.createElement(c.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,i=void 0===o?21:o,a=e.color,s=void 0===a?"currentColor":a,u=e.strokeWidth,c=void 0===u?1.2:u,l=(e.className,(0,v.Z)(e,y));return r.createElement("svg",(0,b.Z)({viewBox:"0 0 15 15",width:n,height:i},l),r.createElement("g",{stroke:s,strokeWidth:c},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,c.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 i=e.backgroundColor,a=e.textColor,s=e.isCloseable;return r.createElement("div",{className:_,style:{backgroundColor:i,color:a},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,i,a,s,u,c=e.children,l=(t=(0,N.e)(),n=(0,R.HY)(),o=(0,r.useState)(!1),i=o[0],a=o[1],s=null!==n.component,u=(0,O.D9)(s),(0,r.useEffect)((function(){s&&!u&&a(!0)}),[s,u]),(0,r.useEffect)((function(){s?t.shown||a(!0):a(!1)}),[t.shown,s]),(0,r.useMemo)((function(){return[i,a]}),[i]));return r.createElement(P.Provider,{value:l},c)}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]),i=(0,R.HY)();return(0,r.useMemo)((function(){return{shown:t,hide:o,content:F(i)}}),[o,i,t])}function B(e){var t=e.header,n=e.primaryMenu,i=e.secondaryMenu,a=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":a})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},i)))}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,i=e.onChange,a=(0,U.Z)(),s=(0,c.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,c.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.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,!a&&$.toggleButtonDisabled),type:"button",onClick:function(){return i("dark"===n?"light":"dark")},disabled:!a,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)(),i=o.colorMode,a=o.setColorMode;return n?null:r.createElement(W,{className:t,value:i,onChange:a})}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,i=e.href,a=e.label,s=e.html,u=e.isDropdownLink,c=e.prependBaseUrlToHref,l=(0,v.Z)(e,ne),d=(0,X.Z)(o),f=(0,X.Z)(t),p=(0,X.Z)(i,{forcePrependBaseUrl:!0}),h=a&&i&&!(0,J.Z)(i),m=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,a,h&&r.createElement(te.Z,u&&{width:12,height:12}))};return i?r.createElement(K.Z,(0,b.Z)({href:c?p:i},l,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)}},l,m))}var oe=["className","isDropdownItem"],ie=["className","isDropdownItem"],ae=["mobile","position"];function se(e){var t=e.className,n=e.isDropdownItem,i=void 0!==n&&n,a=(0,v.Z)(e,oe),s=r.createElement(re,(0,b.Z)({className:(0,o.Z)(i?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:i},a));return i?r.createElement("li",null,s):s}function ue(e){var t=e.className,n=(e.isDropdownItem,(0,v.Z)(e,ie));return r.createElement("li",{className:"menu__list-item"},r.createElement(re,(0,b.Z)({className:(0,o.Z)("menu__link",t)},n)))}function ce(e){var t,n=e.mobile,o=void 0!==n&&n,i=(e.position,(0,v.Z)(e,ae)),a=o?ue:se;return r.createElement(a,(0,b.Z)({},i,{activeClassName:null!=(t=i.activeClassName)?t:o?"menu__link--active":"navbar__link--active"}))}var le=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,i=e.position,a=e.className,s=(e.onClick,(0,v.Z)(e,pe)),u=(0,r.useRef)(null),c=(0,r.useState)(!1),l=c[0],d=c[1];return(0,r.useEffect)((function(){var e=function(e){u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[u]),r.createElement("div",{ref:u,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===i,"dropdown--show":l})},r.createElement(re,(0,b.Z)({"aria-haspopup":"true","aria-expanded":l,role:"button",href:s.to?void 0:"#",className:(0,o.Z)("navbar__link",a)},s,{onClick:s.to?void 0:function(e){return e.preventDefault()},onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),d(!l))}}),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=u.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,i=e.items,a=e.className,s=(e.position,e.onClick),u=(0,v.Z)(e,he),c=(n=(0,fe.Z)().siteConfig.baseUrl,(0,l.TH)().pathname.replace(n,"/")),d=ge(i,c),f=(0,le.u)({initialState:function(){return!d}}),p=f.collapsed,h=f.toggleCollapsed,m=f.setCollapsed;return(0,r.useEffect)((function(){d&&m(!d)}),[c,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",a)},u,{onClick:function(e){e.preventDefault(),h()}}),null!=(t=u.children)?t:u.label),r.createElement(le.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p},i.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),i=n?ve:be;return r.createElement(i,o)}var Ee=n(4711),we=["width","height"];function xe(e){var t=e.width,n=void 0===t?20:t,o=e.height,i=void 0===o?20:o,a=(0,v.Z)(e,we);return r.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:n,height:i,"aria-hidden":!0},a),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",it="focused_OWtg",at="input_FOTf",st="hint_URu1",ut="suggestions_X8XU",ct="dataset_QiCy",lt="empty_eITn";function dt(e){var t=e.document,n=e.type,r=e.page,o=e.metadata,i=e.tokens,a=e.isInterOfTree,s=e.isLastOfTree,u=0===n,c=1===n,l=[];a?l.push(''):s&&l.push('');var d=l.map((function(e){return''+e+""})),f=''+(u?'':c?'':'')+"",p=[''+(0,Be.o)(t.t,(0,Fe.m)(o,"t"),i)+""];if(!a&&!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 u||p.push(''+(0,Me.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),i)+"");return[].concat(d,[f,''],p,["",'']).join("")}function ft(){return''+(0,c.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,i=e.handleSearchBarToggle,a=(0,fe.Z)().siteConfig.baseUrl,s=(0,Oe.gA)(),u=a;try{var d,f=(0,Ie.J)(null!=(d=null==s?void 0:s.pluginId)?d:_e.gQ).preferredVersion;f&&!f.isLast&&(u=f.path+"/")}catch(j){if(_e.l9&&!(j instanceof O.i6))throw j}var p=(0,l.k6)(),h=(0,l.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,i,s,l;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)(u),ht()]);case 6:n=e.sent,r=n[0],o=r.wrappedIndexes,i=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:at,hint:st,suggestions:ut,suggestion:Ze,cursor:$e,dataset:ct,empty:lt}},[{source:(0,Pe.v)(o,i,_e.qo),templates:{suggestion:dt,empty:ft,footer:function(e){var t=e.query;if(!e.isEmpty){var n=document.createElement("a"),r=a+"search?q="+encodeURIComponent(t);n.href=r,n.textContent=(0,c.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,i=r.h,a=t.tokens;null==(n=m.current)||n.blur();var s=o;if(_e.vc&&a.length>0){for(var u,c=new URLSearchParams,l=(0,Ce.Z)(a);!(u=l()).done;){var d=u.value;c.append(gt,d)}s+="?"+c.toString()}i&&(s+=i),p.push(s)})).on("autocomplete:closed",(function(){var e;null==(e=m.current)||e.blur()})),g.current="done",E(!1),b.current&&((l=m.current).value&&C.current.autocomplete.open(),l.focus());case 15:case"end":return e.stop()}}),e)}))),[a,u,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==i||i(!0)}),[i,L]),P=(0,r.useCallback)((function(){I(!1),null==i||i(!1)}),[i]),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[it]=N,o))},r.createElement("input",{placeholder:(0,c.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:ce,localeDropdown:function(e){var t=e.mobile,n=e.dropdownItemsBefore,o=e.dropdownItemsAfter,i=(0,v.Z)(e,Se),a=(0,fe.Z)().i18n,s=a.currentLocale,u=a.locales,l=a.localeConfigs,d=(0,Ee.l)(),f=u.map((function(e){var n="pathname://"+d.createUrl({locale:e,fullyQualified:!1});return{label:l[e].label,lang:l[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,c.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):l[s].label;return r.createElement(ye,(0,b.Z)({},i,{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,i=e.mobile,a=void 0!==i&&i,s=e.isDropdownItem,u=void 0!==s&&s,c=u?"li":"div";return r.createElement(c,{className:(0,o.Z)({navbar__item:!a&&!u,"menu__list-item":a},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){var t=e.docId,n=e.label,o=e.docsPluginId,i=(0,v.Z)(e,wt),a=(0,Oe.Iw)(o).activeDoc,s=(0,Et.vY)(t,o);return null===s?null:r.createElement(ce,(0,b.Z)({exact:!0},i,{isActive:function(){return(null==a?void 0:a.path)===s.path||!(null==a||!a.sidebar)&&a.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,i=(0,v.Z)(e,xt),a=(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(ce,(0,b.Z)({exact:!0},i,{isActive:function(){return(null==a?void 0:a.sidebar)===t},label:null!=n?n:s.label,to:s.path}))},docsVersion:function(e){var t=e.label,n=e.to,o=e.docsPluginId,i=(0,v.Z)(e,kt),a=(0,Et.lO)(o)[0],s=null!=t?t:a.label,u=null!=n?n:function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))}(a).path;return r.createElement(ce,(0,b.Z)({},i,{label:s,to:u}))},docsVersionDropdown:function(e){var t=e.mobile,n=e.docsPluginId,o=e.dropdownActiveClassDisabled,i=e.dropdownItemsBefore,a=e.dropdownItemsAfter,s=(0,v.Z)(e,St),u=(0,Oe.Iw)(n),l=(0,Oe.gB)(n),d=(0,Ie.J)(n).savePreferredVersionName,f=l.map((function(e){var t,n=null!=(t=u.alternateDocVersions[e.name])?t:_t(e);return{label:e.label,to:n.path,isActive:function(){return e===u.activeVersion},onClick:function(){return d(e.name)}}})),p=[].concat(i,f,a),h=(0,Et.lO)(n)[0],m=t&&p.length>1?(0,c.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(ce,(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),i=Tt[o];if(!i)throw new Error('No NavbarItem component found for type "'+t+'".');return r.createElement(i,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(c.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,i=n.hideOnScroll,a=n.style,s=(0,N.e)(),u=function(e){var t=(0,r.useState)(e),n=t[0],o=t[1],i=(0,r.useRef)(!1),a=(0,r.useRef)(0),s=(0,r.useCallback)((function(e){null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,I.RF)((function(t,n){var r=t.scrollY;if(e)if(r=s?o(!1):r+c0&&r.createElement(Jt,{links:n}),logo:o&&r.createElement(rn,{logo:o}),copyright:t&&r.createElement(on,{copyright:t})})}var un=r.memo(sn),cn=n(7094),ln=(0,O.Qc)([j.S,g.pl,cn.z,I.OC,Ie.L5,a.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(ln,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(c.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(c.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,c=e.wrapperClassName,l=e.title,d=e.description;return(0,u.t)(),r.createElement(dn,null,r.createElement(a.d,{title:l,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,c)},r.createElement(i.Z,{fallback:function(e){return r.createElement(fn,e)}},t)),!n&&r.createElement(un,null))}},1327:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(3117),o=n(102),i=n(7294),a=n(9960),s=n(4996),u=n(2263),c=n(6668),l=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)},a=i.createElement(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?i.createElement("div",{className:r},a):a}function p(e){var t,n=(0,u.Z)().siteConfig.title,l=(0,c.L)().navbar,p=l.title,h=l.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 i.createElement(a.Z,(0,r.Z)({to:v},b,(null==h?void 0:h.target)&&{target:h.target}),h&&i.createElement(f,{logo:h,alt:E,imageClassName:m}),null!=p&&i.createElement("b",{className:g},p))}},197:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(7294),o=n(5742);function i(e){var t=e.locale,n=e.version,i=e.tag,a=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}),i&&r.createElement("meta",{name:"docusaurus_tag",content:i}),a&&r.createElement("meta",{name:"docsearch:language",content:a}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),i&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:i}))}},941:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(3117),o=n(102),i=n(7294),a=n(4334),s=n(2389),u=n(2949),c={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"},l=["sources","className","alt"];function d(e){var t=(0,s.Z)(),n=(0,u.I)().colorMode,d=e.sources,f=e.className,p=e.alt,h=(0,o.Z)(e,l),m=t?"dark"===n?["dark"]:["light"]:["light","dark"];return i.createElement(i.Fragment,null,m.map((function(e){return i.createElement("img",(0,r.Z)({key:e,src:d[e],alt:p,className:(0,a.Z)(c.themedImage,c["themedImage--"+e],f)},h))})))}},6043:function(e,t,n){"use strict";n.d(t,{u:function(){return c},z:function(){return b}});var r=n(3117),o=n(102),i=n(7294),a=n(412),s=["collapsed"],u=["lazy"];function c(e){var t=e.initialState,n=(0,i.useState)(null!=t&&t),r=n[0],o=n[1],a=(0,i.useCallback)((function(){o((function(e){return!e}))}),[]);return{collapsed:r,setCollapsed:o,toggleCollapsed:a}}var l={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){var n=t?l: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,i.useRef)(!1);(0,i.useEffect)((function(){var e,i=t.current;function a(){var e,t,n=i.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=a();i.style.transition=e.transition,i.style.height=e.height}if(!o.current)return f(i,n),void(o.current=!0);return i.style.willChange="height",e=requestAnimationFrame((function(){n?(s(),requestAnimationFrame((function(){i.style.height=l.height,i.style.overflow=l.overflow}))):(i.style.display="block",requestAnimationFrame((function(){s()})))})),function(){return cancelAnimationFrame(e)}}),[t,n,r])}function h(e){if(!a.Z.canUseDOM)return e?l:d}function m(e){var t=e.as,n=void 0===t?"div":t,r=e.collapsed,o=e.children,a=e.animation,s=e.onCollapseTransitionEnd,u=e.className,c=e.disableSSRStyle,l=(0,i.useRef)(null);return p({collapsibleRef:l,collapsed:r,animation:a}),i.createElement(n,{ref:l,style:c?void 0:h(r),onTransitionEnd:function(e){"height"===e.propertyName&&(f(l.current,r),null==s||s(r))},className:u},o)}function g(e){var t=e.collapsed,n=(0,o.Z)(e,s),a=(0,i.useState)(!t),u=a[0],c=a[1],l=(0,i.useState)(t),d=l[0],f=l[1];return(0,i.useLayoutEffect)((function(){t||c(!0)}),[t]),(0,i.useLayoutEffect)((function(){u&&f(t)}),[u,t]),u?i.createElement(m,(0,r.Z)({},n,{collapsed:d})):null}function b(e){var t=e.lazy,n=(0,o.Z)(e,u),r=t?g:m;return i.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),i=n(12),a=n(4700),s=n(6668),u=(0,i.W)("docusaurus.announcement.dismiss"),c=(0,i.W)("docusaurus.announcement.id"),l=function(){return"true"===u.get()},d=function(e){return u.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&&l()})),i=n[0],a=n[1];(0,r.useEffect)((function(){a(l())}),[]);var u=(0,r.useCallback)((function(){d(!0),a(!0)}),[]);return(0,r.useEffect)((function(){if(e){var t=e.id,n=c.get();"annoucement-bar"===n&&(n="announcement-bar");var r=t!==n;c.set(t),r&&d(!1),!r&&l()||a(!1)}}),[e]),(0,r.useMemo)((function(){return{isActive:!!e&&!i,close:u}}),[e,i,u])}();return r.createElement(f.Provider,{value:n},t)}function h(){var e=(0,r.useContext)(f);if(!e)throw new a.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),i=n(4700),a=n(12),s=n(6668),u=r.createContext(void 0),c="theme",l=(0,a.W)(c),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,i=e.respectPrefersColorScheme,a=(0,r.useState)(function(e){return o.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e)}(t)),u=a[0],h=a[1];(0,r.useEffect)((function(){n&&l.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){l.set(p(e))}(e)):(h(i?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:t),l.del())}),[i,t]);(0,r.useEffect)((function(){document.documentElement.setAttribute("data-theme",p(u))}),[u]),(0,r.useEffect)((function(){if(!n){var e=function(e){if(e.key===c){var t=l.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||i){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,i]),(0,r.useMemo)((function(){return{colorMode:u,setColorMode:m,get isDarkTheme(){return u===f},setLightTheme:function(){m(d)},setDarkTheme:function(){m(f)}}}),[u,m])}function m(e){var t=e.children,n=h();return r.createElement(u.Provider,{value:n},t)}function g(){var e=(0,r.useContext)(u);if(null==e)throw new i.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),i=n(9935),a=n(6668),s=n(3438),u=n(4700),c=n(12),l=function(e){return"docs-preferred-version-"+e},d=function(e,t,n){(0,c.W)(l(e),{persistence:t}).set(n)},f=function(e,t){return(0,c.W)(l(e),{persistence:t}).get()},p=function(e,t){(0,c.W)(l(e),{persistence:t}).del()};var h=r.createContext(null);function m(){var e=(0,o._r)(),t=(0,a.L)().docs.versionPersistence,n=(0,r.useMemo)((function(){return Object.keys(e)}),[e]),i=(0,r.useState)((function(){return function(e){return Object.fromEntries(e.map((function(e){return[e,{preferredVersionName:null}]})))}(n)})),s=i[0],u=i[1];return(0,r.useEffect)((function(){u(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),u((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 u.i6("DocsPreferredVersionContextProvider");return e}function y(e){var t;void 0===e&&(e=i.m);var n=(0,o.zh)(e),a=v(),s=a[0],u=a[1],c=s[e].preferredVersionName;return{preferredVersion:null!=(t=n.versions.find((function(e){return e.name===c})))?t:null,savePreferredVersionName:(0,r.useCallback)((function(t){u.savePreferredVersion(e,t)}),[u,e])}}},1116:function(e,t,n){"use strict";n.d(t,{V:function(){return u},b:function(){return s}});var r=n(7294),o=n(4700),i=Symbol("EmptyContext"),a=r.createContext(i);function s(e){var t=e.children,n=e.name,o=e.items,i=(0,r.useMemo)((function(){return n&&o?{name:n,items:o}:null}),[n,o]);return r.createElement(a.Provider,{value:i},t)}function u(){var e=(0,r.useContext)(a);if(e===i)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),i=n(7524),a=n(6775),s=n(4700);function u(e){!function(e){var t=(0,a.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 c=n(6668),l=r.createContext(void 0);function d(){var e,t=(e=(0,o.HY)(),0===(0,c.L)().navbar.items.length&&!e.component),n=(0,i.i)(),a=!t&&"mobile"===n,s=(0,r.useState)(!1),l=s[0],d=s[1];u((function(){if(l)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:a,toggle:f,shown:l}}),[t,a,f,l])}function f(e){var t=e.children,n=d();return r.createElement(l.Provider,{value:n},t)}function p(){var e=r.useContext(l);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 u},n2:function(){return a}});var r=n(7294),o=n(4700),i=r.createContext(null);function a(e){var t=e.children,n=(0,r.useState)({component:null,props:null});return r.createElement(i.Provider,{value:n},t)}function s(){var e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){var t=e.component,n=e.props,a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");var s=a[1],u=(0,o.Ql)(n);return(0,r.useEffect)((function(){s({component:t,props:u})}),[s,t,u]),(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 c},z:function(){return u}});var r=n(7294),o=n(12),i=n(4700),a="docusaurus.tab.",s=r.createContext(void 0);function u(e){var t=e.children,n=function(){var e=(0,r.useState)({}),t=e[0],n=e[1],i=(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(a)){var n=t.substring(a.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))})),i(e,t)}),[i]);return(0,r.useMemo)((function(){return{tabGroupChoices:t,setTabGroupChoices:s}}),[t,s])}();return r.createElement(s.Provider,{value:n},t)}function c(){var e=(0,r.useContext)(s);if(null==e)throw new i.i6("TabGroupChoiceProvider");return e}},9727:function(e,t,n){"use strict";n.d(t,{h:function(){return o},t:function(){return i}});var r=n(7294),o="navigation-with-keyboard";function i(){(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 c}});var r=n(7294),o=n(412),i="desktop",a="mobile",s="ssr";function u(){return o.Z.canUseDOM?window.innerWidth>996?i:a:s}function c(){var e=(0,r.useState)((function(){return u()})),t=e[0],n=e[1];return(0,r.useEffect)((function(){function e(){n(u())}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),i=n(6775),a=n(8790),s=n(143),u=n(373),c=n(1116),l=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 i=p(o);if(i)return i}}}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,i=void 0!==o&&o,a=[];return function e(t){for(var o,s=(0,r.Z)(t);!(o=s()).done;){var u=o.value;if("category"===u.type&&((0,d.Mg)(u.href,n)||e(u.items))||"link"===u.type&&(0,d.Mg)(u.href,n))return i&&"category"!==u.type||a.unshift(u),!0}return!1}(t),a}function b(){var e,t=(0,c.V)(),n=(0,i.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,u.J)(e).preferredVersion,r=(0,s.yW)(e);return(0,o.useMemo)((function(){return(0,l.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,l.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,i.TH)(),o=t.routes,s=o.find((function(e){return(0,i.LX)(r.pathname,e)}));if(!s)return null;var u=s.sidebar,c=u?n.docsSidebars[u]:void 0;return{docElement:(0,a.H)(o),sidebarName:u,sidebarItems:c}}},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 l},VC:function(){return p}});var r=n(7294),o=n(7459),i=n(5742),a=n(226);function s(){var e=r.useContext(a._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var u=n(4996),c=n(2263);function l(e){var t=e.title,n=e.description,o=e.keywords,a=e.image,s=e.children,l=function(e){var t=(0,c.Z)().siteConfig,n=t.title,r=t.titleDelimiter;return null!=e&&e.trim().length?e.trim()+" "+r+" "+n:n}(t),d=(0,u.C)().withBaseUrl,f=a?d(a,{absolute:!0}):void 0;return r.createElement(i.Z,null,t&&r.createElement("title",null,l),t&&r.createElement("meta",{property:"og:title",content:l}),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,a=r.useContext(d),s=(0,o.Z)(a,t);return r.createElement(d.Provider,{value:s},r.createElement(i.Z,null,r.createElement("html",{className:s})),n)}function p(e){var t=e.children,n=s(),i="plugin-"+n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,""),a="plugin-id-"+n.plugin.id;return r.createElement(f,{className:(0,o.Z)(i,a)},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 i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}var a=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 u(e,t,n){return u=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,a.Z)(o,n.prototype),o},u.apply(null,arguments)}function c(e){var t="function"==typeof Map?new Map:void 0;return c=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 u(e,arguments,i(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,a.Z)(r,e)},c(e)}var l=n(7294),d=n(412).Z.canUseDOM?l.useLayoutEffect:l.useEffect;function f(e){var t=(0,l.useRef)(e);return d((function(){t.current=e}),[e]),(0,l.useCallback)((function(){return t.current.apply(t,arguments)}),[])}function p(e){var t=(0,l.useRef)();return d((function(){t.current=e})),t.current}var h=function(e){function t(t,n){var o,i,a,s,u;return(u=e.call(this)||this).name="ReactContextError",u.message="Hook "+(null!=(o=null==(i=u.stack)||null==(a=i.split("\n")[1])||null==(s=a.match((0,r.Z)(/at (?:\w+\.)?(\w+)/,{name:1})))?void 0:s.groups.name)?o:"")+" is called outside the <"+t+">. "+(null!=n?n:""),u}return(0,o.Z)(t,e),t}(c(Error));function m(e){var t=Object.entries(e);return t.sort((function(e,t){return e[0].localeCompare(t[0])})),(0,l.useMemo)((function(){return e}),t.flat())}function g(e){return function(t){var n=t.children;return l.createElement(l.Fragment,null,e.reduceRight((function(e,t){return l.createElement(t,null,e)}),n))}}},8596:function(e,t,n){"use strict";n.d(t,{Mg:function(){return a},Ns:function(){return s}});var r=n(7294),o=n(723),i=n(2263);function a(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,i.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 u},RF:function(){return d},o5:function(){return f}});var r=n(7294),o=n(412),i=n(2389),a=n(4700);var s=r.createContext(void 0);function u(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 c(){var e=(0,r.useContext)(s);if(null==e)throw new a.i6("ScrollControllerProvider");return e}var l=function(){return o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null};function d(e,t){void 0===t&&(t=[]);var n=c().scrollEventsEnabledRef,o=(0,r.useRef)(l()),i=(0,a.zX)(e);(0,r.useEffect)((function(){var e=function(){if(n.current){var e=l();i(e,o.current),o.current=e}},t={passive:!0};return e(),window.addEventListener("scroll",e,t),function(){return window.removeEventListener("scroll",e,t)}}),[i,n].concat(t))}function f(){var e,t,n,o=c(),i=(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])),a=(0,r.useRef)(void 0),s=(0,r.useCallback)((function(e){i.save(e),o.disableScrollEvents(),a.current=function(){var e=i.restore().restored;if(a.current=void 0,e){window.addEventListener("scroll",(function e(){o.enableScrollEvents(),window.removeEventListener("scroll",e)}))}else o.enableScrollEvents()}}),[o,i]);return(0,r.useLayoutEffect)((function(){null==a.current||a.current()})),{blockElementScrollPositionUntilNextRender:s}}function p(){var e=(0,r.useRef)(null),t=(0,i.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&&ol.length?e(o.substr(l.length),d):n.push(d),u=!0}else for(var f=l.length-1;f>s;f-=1){var p=l.substr(0,f);if(o.substr(0,f)===p){s=f;var h={missed:i.missed,term:i.term.concat({value:p,trailing:!0})};o.length>f?e(o.substr(f),h):n.push(h),u=!0;break}}}u||(o.length>0?e(o.substr(1),{missed:i.missed+1,term:i.term}):i.term.length>0&&n.push(i))}(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}))}(a,t),c=(0,r.Z)(u);!(s=c()).done;){var l=s.value,d=i.concat.apply(i,l);e(o.slice(1),d)}else{var f=i.concat({value:a});e(o.slice(1),f)}}else n.push(i)}(e,[]),n}var s=n(1029);function u(e){return c(e).concat(c(e.filter((function(e){var t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function c(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:i().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?i().Query.wildcard.TRAILING:i().Query.wildcard.NONE}}))}}))}function l(e,t,n){return function(o,c){var l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return i()[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!==l.length){var d=function(e,t){var n=a(e,t);if(0===n.length)return[{tokens:e,term:e.map((function(e){return{value:e,presence:i().Query.presence.REQUIRED,wildcard:i().Query.wildcard.LEADING|i().Query.wildcard.TRAILING}}))}];for(var o,c=(0,r.Z)(n);!(o=c()).done;){var l=o.value;l[l.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(i().stopWordFilter);else{var g=i()[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 u(n).concat(u(S))}(l,t),f=[],p=function(){for(var t,o=h.value,i=o.term,a=o.tokens,s=function(){var o=t.value,s=o.documents,u=o.index,c=o.type;if(f.push.apply(f,u.query((function(e){for(var t,n=(0,r.Z)(i);!(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:c,page:0!==c&&e[0].documents.find((function(e){return e.i===n.p})),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),f.length>=n)return{v:"break|search"}},u=(0,r.Z)(e);!(t=u()).done;){var c=s();if("object"==typeof c)return c.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){l>0&&s.push(i(e.substr(0,l),t)),s.push(""+(0,o.X)(e.substr(l,c.length))+"");var d=l+c.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 c}});var r=n(7872),o=n(1690),i=n(2539),a=/[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(a);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 u=n(1029);function c(e,t,n,a){void 0===a&&(a=u.Hk);for(var c=function(e,t,n){var a=[],u=0,c=0,l=-1;for(;uc)for(var h,m=s(e.substring(c,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;a.push(b)}-1===l&&(l=a.length),c=f+p,a.push({html:(0,i.C)(e.substring(f,c),n,!0),textLength:p})}}if(c0){var w=f.pop();g+w.textLength<=a?(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<=a?(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 a()},gQ:function(){return g},H6:function(){return f},l9:function(){return b},dK:function(){return s},_k:function(){return u},pu:function(){return m},AY:function(){return p},t_:function(){return h},J:function(){return c},Hk:function(){return d},qo:function(){return l}});var r=n(1336),o=n.n(r),i=n(813),a=n.n(i);n(892)(o()),n(1728).w(o()),n(4182)(o());var s=["en","zh"],u=!1,c="search-index.json?_=b911740e",l=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=a[f];"."===p?i(a,f):".."===p?(i(a,f),d++):d&&(i(a,f),d--)}if(!c)for(;d--;d)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h},s=n(2177);function u(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function l(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 i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),i.state=t):(void 0===(i=(0,r.Z)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}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 i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}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);l.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||c)break;c=!0}}for(;;){if(s>=(p=t[r]).s_size){if(this.cursor=i+p.s_size,!p.method)return p.result;var m=p.method();if(this.cursor=i+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,i=this.cursor,a=this.limit_backward,s=0,u=0,c=!1;;){for(var l=r+(o-r>>1),d=0,f=s=0;p--){if(i-f==a){d=-1;break}if(d=e.charCodeAt(i-1-f)-h.s[p])break;f++}if(d<0?(o=l,u=f):(r=l,s=f),o-r<=1){if(r>0||o==r||c)break;c=!0}}for(;;){var h;if(s>=(h=t[r]).s_size){if(this.cursor=i-h.s_size,!h.method)return h.result;var m=h.method();if(this.cursor=i-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),i=e.substring(0,t),a=e.substring(n);return e=i+r+a,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 i,a,s,u,c,l,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=(i=this,function(e){i.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 u=I.utils.clone(t)||{};u.position=[a,s],u.index=o.length,o.push(new I.Token(n.slice(a,i),u))}a=i+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&&(ie&&(n=o),i!=e);)r=n-t,o=t+Math.floor(r/2),i=this.elements[2*o];return i==e||i>e?2*o:is?c+=2:a==s&&(t+=n[u+1]*r[c+1],u+=2,c+=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 i,a=o.str.charAt(0);a in o.node.edges?i=o.node.edges[a]:(i=new I.TokenSet,o.node.edges[a]=i),1==o.str.length&&(i.final=!0),r.push({node:i,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 u=o.node.edges["*"];else{u=new I.TokenSet;o.node.edges["*"]=u}1==o.str.length&&(u.final=!0),r.push({node:u,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,l=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new I.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:l+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),i=Object.create(null),a=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]:[],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=i}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(i){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,i=null,a=function a(){if(!o){o=!0,clearTimeout(i);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",a),i=setTimeout(a,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,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,u=0;a=Array.prototype.slice.call(a);var c=function(){--s<=0&&i(u)};s||c(),a.forEach((function(t){e.matches(t,o.exclude)?c():o.onIframeReady(t,(function(e){n(t)&&(u++,r(e)),c()}),c)}))}},{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,i=!1;return r.forEach((function(e,t){e.val===n&&(o=t,i=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||i?!1===o||i||(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 i=this,a=this.createIterator(t,e,r),s=[],u=[],c=void 0,l=void 0,d=function(){var e=i.getIteratorNode(a);return l=e.prevNode,c=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return i.checkIframeFilter(c,l,e,s)}),(function(t){i.createInstanceOnIframe(t).forEachNode(e,(function(e){return u.push(e)}),r)})),u.push(c);u.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(){},i=this.getContexts(),a=i.length;a||o(),i.forEach((function(i){var s=function(){r.iterateThroughNodes(e,i,t,n,(function(){--a<=0&&o()}))};r.iframes?r.waitForIframes(i,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}(),i=function(){function i(e){t(this,i),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(i,[{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 i=t[o],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(a)+"|"+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,i="string"==typeof r?[]:r.limiters,a="";switch(i.forEach((function(e){a+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(a="\\s"+(a||this.escapeStr(n)))+"]*"+e+"[^"+a+"]*)";case"exactly":return"(^|\\s"+a+")("+e+")(?=$|\\s"+a+")"}}},{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),i=o.start,a=o.end;o.valid&&(e.start=i,e.length=a-i,n.push(e),r=a)})),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,i=n.length,a=t-i,s=parseInt(e.start,10)-a;return(r=(s=s>i?i:s)+parseInt(e.length,10))>i&&(r=i,this.log("End range automatically set to the max value of "+i)),s<0||r-s<0||s>i||r>i?(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),i=o.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=o.textContent,o.parentNode.replaceChild(a,o),i}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var i=this;e.nodes.every((function(a,s){var u=e.nodes[s+1];if(void 0===u||u.start>t){if(!r(a.node))return!1;var c=t-a.start,l=(n>a.end?a.end:n)-a.start,d=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=i.wrapRangeInTextNode(a.node,c,l),e.value=d+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)})),n-=l,o(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var i=this,a=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[a];)if(n(o[a],t)){var s=o.index;if(0!==a)for(var u=1;u
'};function o(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}function a(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(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 i=n.render(!t),c=i.querySelector(r.barSelector),l=r.speed,d=r.easing;return i.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),u(c,a(e,l,d)),1===e?(u(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout((function(){u(i,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),l)}),l)):setTimeout(t,l)})),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");l(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,a=t.querySelector(r.barSelector),s=e?"-100":i(n.status||0),c=document.querySelector(r.parent);return u(a,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),c!=document.body&&l(c,"nprogress-custom-parent"),c.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()}}(),u=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,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+i)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function i(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)&&i(e,n,r);else i(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function l(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(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,i){for(var a,s,u=o(e),c=1;c=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(!(_=i(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=u(t,D,O),k+=O.length),c(t,D,T),x=u(t,D,new o(f,g?r.tokenize(I,g):I,y,I)),R&&u(t,x,R),T>1){var F={cause:f+","+h,reach:P};a(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 u(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 c(e,t,n){for(var r=t.next,o=0;o"+i.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 i={};i[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:o},r.languages.insertBefore("markup","cdata",i)}}),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"],i=r.variable[1].inside,a=0;a]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,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})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function a(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+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:a(/\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:a(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:a(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:a(i),lookbehind:!0,greedy:!0},number:{pattern:a(/[+-]?(?: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})),i=/\|?[ \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+i+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+i+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+i+"$"),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:'"'},u=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 u=n;u=0&&p(c,"variable-input")}}}}function l(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"],i=r.pattern.source;function a(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 u(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 c(t){var n={};n["interpolation-punctuation"]=o;var i=e.tokenize(t,n);if(3===i.length){var a=[1,1];a.push.apply(a,u(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,a)}return new e.Token("interpolation",i,r.alias,t)}function l(t,n,r){var o=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),a=0,l={},d=u(o.map((function(e){if("string"==typeof e)return e;for(var n,o=e.content;-1!==t.indexOf(n=s(a++,r)););return l[n]=o,n})).join(""),n,r),f=Object.keys(l);return a=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[a],i="string"==typeof r?r:r.content,s=i.indexOf(o);if(-1!==s){++a;var u=i.substring(0,s),d=c(l[o]),p=i.substring(s+o.length),h=[];if(u&&h.push(u),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"]=[a("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),a("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),a("svg",/\bsvg/.source),a("markdown",/\b(?:markdown|md)/.source),a("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),a("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 i(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return o})),RegExp(e,t)}o=i(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\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:i(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var a=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(a).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===a(o.content[0].content[1])&&n.pop():"/>"===o.content[o.content.length-1].content||n.push({tagName:a(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--:i=!0),(i||"string"==typeof o)&&n.length>0&&0===n[n.length-1].openedBraces){var u=a(o);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(u=a(t[r-1])+u,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",u,null,u)}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,i){if(n.language===r){var a=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof i&&!i(e))return e;for(var o,s=a.length;-1!==n.code.indexOf(o=t(r,s));)++s;return a[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,i=Object.keys(n.tokenStack);!function a(s){for(var u=0;u=i.length);u++){var c=s[u];if("string"==typeof c||c.content&&"string"==typeof c.content){var l=i[o],d=n.tokenStack[l],f="string"==typeof c?c:c.content,p=t(r,l),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,a([m])),v.push(g),b&&v.push.apply(v,a([b])),"string"==typeof c?s.splice.apply(s,[u,1].concat(v)):c.content=v}}else c.content&&a(c.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",i="class enum interface record struct",a="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 u(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var c=u(i),l=RegExp(u(o+" "+i+" "+a+" "+s)),d=u(i+" "+a+" "+s),f=u(o+" "+i+" "+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:l,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,[c,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:l,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,[c,g,m,x,l.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:l,"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=i(e);return n(t)}function i(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=i,e.exports=o,o.id=4806},2703:function(e,t,n){"use strict";var r=n(414);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==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:i,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),i=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n