From 7f7f1f0a896653749a693db6b8fdd6fdd915f9cc Mon Sep 17 00:00:00 2001 From: colin Date: Thu, 17 Apr 2025 13:48:53 +0800 Subject: [PATCH] feat: update micro template to 9.1.1 --- aspnet-core/LINGYUN.MicroService.All.sln | 7 ++ .../AbpTelemetryOpenTelemetryModule.cs | 41 +++++---- .../AbpTelemetrySkyWalkingModule.cs | 2 +- ...PackageName.CompanyName.ProjectName.csproj | 2 +- .../content/.template.config/template.json | 22 ++--- .../micro/content/Directory.Packages.props | 72 +++++++-------- .../PackageName.CompanyName.ProjectName.sln | 2 +- .../templates/micro/content/common.props | 4 +- .../Dockerfile | 2 +- ...ompanyName.ProjectName.HttpApi.Host.csproj | 13 +-- .../Program.cs | 92 +++++++++---------- .../ProjectNameHttpApiHostModule.Configure.cs | 79 +++------------- .../ProjectNameHttpApiHostModule.cs | 21 ++++- .../appsettings.Development.json | 47 +++++++++- .../appsettings.json | 2 +- ...Name.DbMigrator.EntityFrameworkCore.csproj | 2 - .../ProjectNameDbContextFactory.cs | 2 +- ...e.ProjectName.Application.Contracts.csproj | 1 + ...CompanyName.ProjectName.Application.csproj | 1 + ...CompanyName.ProjectName.Dapr.Client.csproj | 6 ++ ...mpanyName.ProjectName.Domain.Shared.csproj | 1 + ...Name.CompanyName.ProjectName.Domain.csproj | 1 + .../ProjectName/ProjectNameDbProperties.cs | 2 +- ...ame.ProjectName.EntityFrameworkCore.csproj | 1 + .../EfCoreProjectNameRepository.cs | 21 +++-- ...ectNameDbContextModelCreatingExtensions.cs | 2 +- ...ectNameModelBuilderConfigurationOptions.cs | 2 +- ...panyName.ProjectName.HttpApi.Client.csproj | 1 + ...ame.CompanyName.ProjectName.HttpApi.csproj | 1 + ...yName.ProjectName.SettingManagement.csproj | 1 + .../ProjectNameSettingAppService.cs | 10 +- 31 files changed, 237 insertions(+), 226 deletions(-) diff --git a/aspnet-core/LINGYUN.MicroService.All.sln b/aspnet-core/LINGYUN.MicroService.All.sln index c9c01a195..517b7210b 100644 --- a/aspnet-core/LINGYUN.MicroService.All.sln +++ b/aspnet-core/LINGYUN.MicroService.All.sln @@ -835,6 +835,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.IP2Region", "fr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.AuditLogging.IP.Location", "framework\auditing\LINGYUN.Abp.AuditLogging.IP.Location\LINGYUN.Abp.AuditLogging.IP.Location.csproj", "{D63FEED3-2342-7E96-4121-B0C19CF1EA81}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Saas.DbChecker", "modules\saas\LINGYUN.Abp.Saas.DbChecker\LINGYUN.Abp.Saas.DbChecker.csproj", "{DED16774-635C-D781-4D5B-D1FA56EECF10}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -2161,6 +2163,10 @@ Global {D63FEED3-2342-7E96-4121-B0C19CF1EA81}.Debug|Any CPU.Build.0 = Debug|Any CPU {D63FEED3-2342-7E96-4121-B0C19CF1EA81}.Release|Any CPU.ActiveCfg = Release|Any CPU {D63FEED3-2342-7E96-4121-B0C19CF1EA81}.Release|Any CPU.Build.0 = Release|Any CPU + {DED16774-635C-D781-4D5B-D1FA56EECF10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DED16774-635C-D781-4D5B-D1FA56EECF10}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DED16774-635C-D781-4D5B-D1FA56EECF10}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DED16774-635C-D781-4D5B-D1FA56EECF10}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2566,6 +2572,7 @@ Global {418EE258-2670-29D3-480F-EC0FD07700E8} = {8AC72641-30D3-4ACF-89FA-808FADC55C2E} {7984F6B6-726F-9F30-3B6F-08A90AD75A7D} = {8AC72641-30D3-4ACF-89FA-808FADC55C2E} {D63FEED3-2342-7E96-4121-B0C19CF1EA81} = {6A3FF105-7E8B-4B4D-A736-1C2BAF86FDAA} + {DED16774-635C-D781-4D5B-D1FA56EECF10} = {D01D859E-4B72-478A-BABD-90F0981652D5} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718} diff --git a/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.OpenTelemetry/LINGYUN/Abp/Telemetry/OpenTelemetry/AbpTelemetryOpenTelemetryModule.cs b/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.OpenTelemetry/LINGYUN/Abp/Telemetry/OpenTelemetry/AbpTelemetryOpenTelemetryModule.cs index 29d4b1137..cc6b9bd28 100644 --- a/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.OpenTelemetry/LINGYUN/Abp/Telemetry/OpenTelemetry/AbpTelemetryOpenTelemetryModule.cs +++ b/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.OpenTelemetry/LINGYUN/Abp/Telemetry/OpenTelemetry/AbpTelemetryOpenTelemetryModule.cs @@ -14,30 +14,37 @@ public class AbpTelemetryOpenTelemetryModule : AbpModule public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); - var applicationName = context.Services.GetApplicationName(); var openTelmetrySetup = context.Services.GetPreConfigureActions(); var openTelemetryEnabled = configuration["OpenTelemetry:IsEnabled"]; - if (openTelemetryEnabled.IsNullOrEmpty() || bool.Parse(openTelemetryEnabled)) + if (openTelemetryEnabled.IsNullOrWhiteSpace() || "false".Equals(openTelemetryEnabled.ToLower())) { - var openTelmetryBuilder = context.Services.AddOpenTelemetry() - .ConfigureResource(resource => - { - resource.AddService(applicationName); - }) - .WithTracing(tracing => - { - tracing.AddSource(applicationName); - ConfigureTracing(tracing, configuration); - }) - .WithMetrics(metrics => - { - ConfigureMetrics(metrics, configuration); - }); + return; + } - openTelmetrySetup.Configure(openTelmetryBuilder); + var applicationName = configuration["OpenTelemetry:ServiceName"]; + if (applicationName.IsNullOrWhiteSpace()) + { + applicationName = context.Services.GetApplicationName(); } + var openTelmetryBuilder = context.Services + .AddOpenTelemetry() + .ConfigureResource(resource => + { + resource.AddService(applicationName); + }) + .WithTracing(tracing => + { + tracing.AddSource(applicationName); + ConfigureTracing(tracing, configuration); + }) + .WithMetrics(metrics => + { + ConfigureMetrics(metrics, configuration); + }); + + openTelmetrySetup.Configure(openTelmetryBuilder); } private static void ConfigureTracing(TracerProviderBuilder tracing, IConfiguration configuration) diff --git a/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.SkyWalking/LINGYUN/Abp/Telemetry/SkyWalking/AbpTelemetrySkyWalkingModule.cs b/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.SkyWalking/LINGYUN/Abp/Telemetry/SkyWalking/AbpTelemetrySkyWalkingModule.cs index 7e7c7832c..16e3a712d 100644 --- a/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.SkyWalking/LINGYUN/Abp/Telemetry/SkyWalking/AbpTelemetrySkyWalkingModule.cs +++ b/aspnet-core/framework/telemetry/LINGYUN.Abp.Telemetry.SkyWalking/LINGYUN/Abp/Telemetry/SkyWalking/AbpTelemetrySkyWalkingModule.cs @@ -12,7 +12,7 @@ public class AbpTelemetrySkyWalkingModule : AbpModule public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); - var isSkywalkingEnabled = configuration["SkyWalking:Enable"]; + var isSkywalkingEnabled = configuration["SkyWalking:IsEnabled"]; if (isSkywalkingEnabled.IsNullOrWhiteSpace() || "false".Equals(isSkywalkingEnabled.ToLower())) { return; diff --git a/aspnet-core/templates/micro/PackageName.CompanyName.ProjectName.csproj b/aspnet-core/templates/micro/PackageName.CompanyName.ProjectName.csproj index d252f6fc6..0ad5f47cf 100644 --- a/aspnet-core/templates/micro/PackageName.CompanyName.ProjectName.csproj +++ b/aspnet-core/templates/micro/PackageName.CompanyName.ProjectName.csproj @@ -3,7 +3,7 @@ net9.0 true LINGYUN.Abp.MicroService.Templates - 9.0.4 + 9.1.1 colin.in@foxmail.com Abp framework micro-service template MIT diff --git a/aspnet-core/templates/micro/content/.template.config/template.json b/aspnet-core/templates/micro/content/.template.config/template.json index d57640554..4c1933a55 100644 --- a/aspnet-core/templates/micro/content/.template.config/template.json +++ b/aspnet-core/templates/micro/content/.template.config/template.json @@ -30,20 +30,20 @@ "sourceName": "ProjectName", "preferNameDirectory": true, "symbols": { - "AuthenticationScheme": { + "Telemetry": { "type": "parameter", - "description": "Authentication Scheme", + "description": "Distributed tracking provider", "datatype": "choice", - "defaultValue": "IdentityServer4", + "defaultValue": "OpenTelemetry", "isRequired": false, "choices": [ { - "choice": "IdentityServer4", - "description": "IdentityServer4" + "choice": "SkyWalking", + "description": "Use SkyWalking" }, { - "choice": "OpenIddict", - "description": "OpenIddict" + "choice": "OpenTelemetry", + "description": "Use OpenTelemetry" } ] }, @@ -104,13 +104,13 @@ "type": "computed", "value": "(DatabaseManagement == \"PostgreSql\")" }, - "IdentityServer4": { + "SkyWalking": { "type": "computed", - "value": "(AuthenticationScheme == \"IdentityServer4\")" + "value": "(Telemetry == \"SkyWalking\")" }, - "OpenIddict": { + "OpenTelemetry": { "type": "computed", - "value": "(AuthenticationScheme == \"OpenIddict\")" + "value": "(Telemetry == \"OpenTelemetry\")" } } } diff --git a/aspnet-core/templates/micro/content/Directory.Packages.props b/aspnet-core/templates/micro/content/Directory.Packages.props index 394dc9147..b771780ff 100644 --- a/aspnet-core/templates/micro/content/Directory.Packages.props +++ b/aspnet-core/templates/micro/content/Directory.Packages.props @@ -2,8 +2,8 @@ 8.3.2 2.14.1 - 9.0.4 - 9.0.4 + 9.1.1 + 9.1.1 9.0.0.0 9.0.0.0 9.0.0.0 @@ -214,6 +214,9 @@ + + + @@ -229,11 +232,13 @@ + + - + @@ -381,7 +386,8 @@ - + + @@ -417,31 +423,31 @@ - - + + - - - + + + - + - - + + - - - + + + @@ -453,33 +459,25 @@ - + - - - - - + + + + + - - - + + + - + - - - - - - - - - - + + @@ -489,7 +487,7 @@ - - + + diff --git a/aspnet-core/templates/micro/content/PackageName.CompanyName.ProjectName.sln b/aspnet-core/templates/micro/content/PackageName.CompanyName.ProjectName.sln index bc7bf0efe..30ec3bf70 100644 --- a/aspnet-core/templates/micro/content/PackageName.CompanyName.ProjectName.sln +++ b/aspnet-core/templates/micro/content/PackageName.CompanyName.ProjectName.sln @@ -57,8 +57,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "migrations", "migrations", EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".deploy", ".deploy", "{46954769-3C8A-4E05-912A-91B896A91B97}" ProjectSection(SolutionItems) = preProject - deploy\docker-compose.override.yml = deploy\docker-compose.override.yml deploy\deployment.yaml = deploy\deployment.yaml + deploy\docker-compose.override.yml = deploy\docker-compose.override.yml deploy\docker-compose.yml = deploy\docker-compose.yml EndProjectSection EndProject diff --git a/aspnet-core/templates/micro/content/common.props b/aspnet-core/templates/micro/content/common.props index afab93ddb..c439e21d7 100644 --- a/aspnet-core/templates/micro/content/common.props +++ b/aspnet-core/templates/micro/content/common.props @@ -1,12 +1,12 @@ latest - 9.0.4 + 9.1.1 colin $(NoWarn);CS1591;CS0436;CS8618;NU1803 https://github.com/colinin/abp-next-admin $(SolutionDir)LocalNuget - 9.0.4 + 9.1.1 MIT git https://github.com/colinin/abp-next-admin diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Dockerfile b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Dockerfile index 1f872aad2..60ef36d4f 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Dockerfile +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 +FROM mcr.microsoft.com/dotnet/aspnet:9.0 LABEL maintainer="colin.in@foxmail.com" WORKDIR /app diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/PackageName.CompanyName.ProjectName.HttpApi.Host.csproj b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/PackageName.CompanyName.ProjectName.HttpApi.Host.csproj index f154e5d67..52d431933 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/PackageName.CompanyName.ProjectName.HttpApi.Host.csproj +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/PackageName.CompanyName.ProjectName.HttpApi.Host.csproj @@ -15,7 +15,6 @@ - @@ -31,16 +30,13 @@ + + + + - - - - - - - @@ -55,7 +51,6 @@ - diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Program.cs b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Program.cs index ad8792c62..f7939c1f4 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Program.cs +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/Program.cs @@ -3,66 +3,56 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using PackageName.CompanyName.ProjectName; using Serilog; using System; using System.IO; -using System.Linq; -using System.Threading.Tasks; using Volo.Abp.IO; using Volo.Abp.Modularity.PlugIns; -namespace PackageName.CompanyName.ProjectName; - -public class Program +try { - public async static Task Main(string[] args) - { - try - { - Console.Title = "Web.Host"; - Log.Information("Starting web host."); + Console.Title = "Web.Host"; + Log.Information("Starting ProjectName api host."); - var builder = WebApplication.CreateBuilder(args); - builder.Host - .AddAppSettingsSecretsJson() - .UseAutofac() - .ConfigureAppConfiguration((context, config) => - { - var agileConfig = context.Configuration.GetSection("AgileConfig");//IsEnabled - if (agileConfig.Exists()) - { - var isAgileConfigEnabled = agileConfig["IsEnabled"]; - if (isAgileConfigEnabled.IsNullOrWhiteSpace() || bool.Parse(isAgileConfigEnabled)) - { - config.AddAgileConfig(new AgileConfig.Client.ConfigClient(context.Configuration)); - } - } - }) - .UseSerilog((context, provider, config) => - { - config.ReadFrom.Configuration(context.Configuration); - }); - await builder.AddApplicationAsync(options => + var builder = WebApplication.CreateBuilder(args); + builder.Host + .AddAppSettingsSecretsJson() + .UseAutofac() + .ConfigureAppConfiguration((context, config) => + { + var agileConfig = context.Configuration.GetSection("AgileConfig");//IsEnabled + if (agileConfig.Exists()) { - ProjectNameHttpApiHostModule.ApplicationName = Environment.GetEnvironmentVariable("APPLICATION_NAME") - ?? ProjectNameHttpApiHostModule.ApplicationName; - options.ApplicationName = ProjectNameHttpApiHostModule.ApplicationName; - // 搜索 Modules 目录下所有文件作为插件 - // 取消显示引用所有其他项目的模块,改为通过插件的形式引用 - var pluginFolder = Path.Combine(Directory.GetCurrentDirectory(), "Modules"); + if (agileConfig.GetValue("IsEnabled", false)) + { + config.AddAgileConfig(new AgileConfig.Client.ConfigClient(context.Configuration)); + } + } + }) + .UseSerilog((context, provider, config) => + { + config.ReadFrom.Configuration(context.Configuration); + }); + await builder.AddApplicationAsync(options => + { + ProjectNameHttpApiHostModule.ApplicationName = Environment.GetEnvironmentVariable("APPLICATION_NAME") + ?? ProjectNameHttpApiHostModule.ApplicationName; + options.ApplicationName = ProjectNameHttpApiHostModule.ApplicationName; + // 搜索 Modules 目录下所有文件作为插件 + // 取消显示引用所有其他项目的模块,改为通过插件的形式引用 + var pluginFolder = Path.Combine(Directory.GetCurrentDirectory(), "Modules"); - DirectoryHelper.CreateIfNotExists(pluginFolder); + DirectoryHelper.CreateIfNotExists(pluginFolder); - options.PlugInSources.AddFolder(pluginFolder, SearchOption.AllDirectories); - }); - var app = builder.Build(); - await app.InitializeApplicationAsync(); - await app.RunAsync(); - return 0; - } - finally - { - Log.CloseAndFlush(); - } - } + options.PlugInSources.AddFolder(pluginFolder, SearchOption.AllDirectories); + }); + var app = builder.Build(); + await app.InitializeApplicationAsync(); + await app.RunAsync(); + return 0; } +finally +{ + Log.CloseAndFlush(); +} \ No newline at end of file diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.Configure.cs b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.Configure.cs index e7920d899..ea021f329 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.Configure.cs +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.Configure.cs @@ -1,10 +1,9 @@ using DotNetCore.CAP; using LINGYUN.Abp.Dapr.Client.ClientProxying; -using LINGYUN.Abp.Dapr.Client.DynamicProxying; using LINGYUN.Abp.ExceptionHandling; using LINGYUN.Abp.ExceptionHandling.Emailing; using LINGYUN.Abp.Localization.CultureMap; -using LINGYUN.Abp.Localization.Persistence; +using LINGYUN.Abp.LocalizationManagement; using LINGYUN.Abp.Serilog.Enrichers.Application; using LINGYUN.Abp.Serilog.Enrichers.UniqueId; using LINGYUN.Abp.Wrapper; @@ -18,15 +17,10 @@ using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Caching.StackExchangeRedis; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; using Microsoft.OpenApi.Models; -using OpenTelemetry.Metrics; -using OpenTelemetry.Resources; -using OpenTelemetry.Trace; using PackageName.CompanyName.ProjectName.Localization; using StackExchange.Redis; using System; -using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; using System.Text.Unicode; @@ -35,7 +29,6 @@ using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc.AntiForgery; using Volo.Abp.Auditing; using Volo.Abp.Caching; -using Volo.Abp.EntityFrameworkCore; using Volo.Abp.GlobalFeatures; using Volo.Abp.Http.Client; using Volo.Abp.Json; @@ -44,8 +37,8 @@ using Volo.Abp.Localization; using Volo.Abp.MultiTenancy; using Volo.Abp.Security.Claims; using Volo.Abp.Threading; +using Volo.Abp.Timing; using Volo.Abp.VirtualFileSystem; -using static IdentityModel.ClaimComparer; namespace PackageName.CompanyName.ProjectName; @@ -142,54 +135,6 @@ public partial class ProjectNameHttpApiHostModule services.AddSingleton(_ => new RedisDistributedSynchronizationProvider(redis.GetDatabase())); } } - - private void ConfigureOpenTelemetry(IServiceCollection services, IConfiguration configuration) - { - var openTelemetryEnabled = configuration["OpenTelemetry:IsEnabled"]; - if (openTelemetryEnabled.IsNullOrEmpty() || bool.Parse(openTelemetryEnabled)) - { - services.AddOpenTelemetry() - .ConfigureResource(resource => - { - resource.AddService(ApplicationName); - }) - .WithTracing(tracing => - { - tracing.AddHttpClientInstrumentation(); - tracing.AddAspNetCoreInstrumentation(); - tracing.AddCapInstrumentation(); - tracing.AddEntityFrameworkCoreInstrumentation(); - tracing.AddSource(ApplicationName); - - var tracingOtlpEndpoint = configuration["OpenTelemetry:Otlp:Endpoint"]; - if (!tracingOtlpEndpoint.IsNullOrWhiteSpace()) - { - tracing.AddOtlpExporter(otlpOptions => - { - otlpOptions.Endpoint = new Uri(tracingOtlpEndpoint); - }); - return; - } - - var zipkinEndpoint = configuration["OpenTelemetry:ZipKin:Endpoint"]; - if (!zipkinEndpoint.IsNullOrWhiteSpace()) - { - tracing.AddZipkinExporter(zipKinOptions => - { - zipKinOptions.Endpoint = new Uri(zipkinEndpoint); - }); - return; - } - }) - .WithMetrics(metrics => - { - metrics.AddRuntimeInstrumentation(); - metrics.AddHttpClientInstrumentation(); - metrics.AddAspNetCoreInstrumentation(); - }); - } - } - private void ConfigureExceptionHandling() { // 自定义需要处理的异常 @@ -240,6 +185,14 @@ public partial class ProjectNameHttpApiHostModule }); } + private void ConfigureTiming(IConfiguration configuration) + { + Configure(options => + { + configuration.GetSection("Clock").Bind(options); + }); + } + private void ConfigureCaching(IConfiguration configuration) { Configure(options => @@ -344,13 +297,6 @@ public partial class ProjectNameHttpApiHostModule options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); }); - Configure(options => - { - // 持久化本地化资源 - options.SaveStaticLocalizationsToPersistence = true; - options.AddPersistenceResource(); - }); - Configure(options => { var zhHansCultureMapInfo = new CultureMapInfo @@ -362,6 +308,11 @@ public partial class ProjectNameHttpApiHostModule options.CulturesMaps.Add(zhHansCultureMapInfo); options.UiCulturesMaps.Add(zhHansCultureMapInfo); }); + + Configure(options => + { + options.SaveStaticLocalizationsToDatabase = true; + }); } private void ConfigureSecurity(IServiceCollection services, IConfiguration configuration, bool isDevelopment = false) diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs index b943b09a6..d5e73955a 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs @@ -1,6 +1,7 @@ using LINGYUN.Abp.AspNetCore.HttpOverrides; using LINGYUN.Abp.AspNetCore.Mvc.Wrapper; using LINGYUN.Abp.AuditLogging.Elasticsearch; +using LINGYUN.Abp.Emailing.Platform; using LINGYUN.Abp.EventBus.CAP; using LINGYUN.Abp.ExceptionHandling.Emailing; using LINGYUN.Abp.Identity.Session.AspNetCore; @@ -8,6 +9,12 @@ using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore; using LINGYUN.Abp.Saas.EntityFrameworkCore; using LINGYUN.Abp.Serilog.Enrichers.Application; using LINGYUN.Abp.Serilog.Enrichers.UniqueId; +using LINGYUN.Abp.Sms.Platform; +#if SkyWalking +using LINGYUN.Abp.Telemetry.SkyWalking; +#elif OpenTelemetry +using LINGYUN.Abp.Telemetry.OpenTelemetry; +#endif using LINGYUN.Abp.TextTemplating.EntityFrameworkCore; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -24,7 +31,6 @@ using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.DistributedLocking; using Volo.Abp.FeatureManagement.EntityFrameworkCore; using Volo.Abp.Http.Client.IdentityModel.Web; -using Volo.Abp.MailKit; using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.EntityFrameworkCore; using Volo.Abp.SettingManagement.EntityFrameworkCore; @@ -57,7 +63,13 @@ namespace PackageName.CompanyName.ProjectName; typeof(AbpAspNetCoreMvcWrapperModule), typeof(AbpAspNetCoreHttpOverridesModule), typeof(AbpIdentitySessionAspNetCoreModule), - typeof(AbpMailKitModule), +#if SkyWalking + typeof(AbpTelemetrySkyWalkingModule), +#elif OpenTelemetry + typeof(AbpTelemetryOpenTelemetryModule), +#endif + typeof(AbpEmailingPlatformModule), + typeof(AbpSmsPlatformModule), typeof(AbpSwashbuckleModule), typeof(AbpAutofacModule) )] @@ -82,6 +94,7 @@ public partial class ProjectNameHttpApiHostModule : AbpModule ConfigureLocalization(); ConfigureExceptionHandling(); ConfigureVirtualFileSystem(); + ConfigureTiming(configuration); ConfigureCaching(configuration); ConfigureAuditing(configuration); ConfigureIdentity(configuration); @@ -90,7 +103,6 @@ public partial class ProjectNameHttpApiHostModule : AbpModule ConfigureSwagger(context.Services); ConfigureMvc(context.Services, configuration); ConfigureCors(context.Services, configuration); - ConfigureOpenTelemetry(context.Services, configuration); ConfigureDistributedLock(context.Services, configuration); ConfigureSecurity(context.Services, configuration, hostingEnvironment.IsDevelopment()); } @@ -103,13 +115,14 @@ public partial class ProjectNameHttpApiHostModule : AbpModule app.UseForwardedHeaders(); app.UseMapRequestLocalization(); app.UseCorrelationId(); - app.UseStaticFiles(); + app.MapAbpStaticAssets(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); app.UseJwtTokenMiddleware(); app.UseMultiTenancy(); app.UseAbpSession(); + app.UseUnitOfWork(); app.UseDynamicClaims(); app.UseAuthorization(); app.UseSwagger(); diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json index a28116f22..e287aa4a7 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.Development.json @@ -36,12 +36,53 @@ } }, "OpenTelemetry": { - "IsEnabled": true, + "IsEnabled": false, + "Console": { + "IsEnabled": false + }, "ZipKin": { - "Endpoint": "http://127.0.0.1:9411/api/v2/spans" + "Endpoint": "", + "EndpointExample": "http://127.0.0.1:9411/api/v2/spans" + }, + "Otlp": { + "Endpoint": "", + "EndpointExample": "127.0.0.1:5078" + } + }, + "SkyWalking": { + "IsEnabled": false, + "HeaderVersions": [ + "sw8" + ], + "Logging": { + "FilePath": "logs\\skyapm-{Date}.log", + "Level": "Information" + }, + "Namespace": "Framework", + "Sampling": { + "Percentage": "-1.0", + "SamplePer3Secs": "-1" + }, + "Transport": { + "BatchSize": "3000", + "gRPC": { + "Authentication": "", + "ConnectTimeout": "10000", + "ReportTimeout": "600000", + "Servers": "127.0.0.1:11800", + "Timeout": "10000" + }, + "Interval": "3000", + "ProtocolVersion": "v8", + "QueueSize": "30000" + } + }, + "RemoteServices": { + "Platform": { + "BaseUrl": "http://127.0.0.1:30025", + "UseCurrentAccessToken": "False" } }, - "RemoteServices": {}, "IdentityClients": { "InternalServiceClient": { "Authority": "http://127.0.0.1:44385", diff --git a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.json b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.json index 4f3ee4d30..b50f377f8 100644 --- a/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.json +++ b/aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/appsettings.json @@ -5,7 +5,7 @@ "HealthChecks": "/healthz" }, "Clock": { - "Kind": "Local" + "Kind": "Unspecified" }, "Forwarded": { "ForwardedHeaders": "XForwardedFor,XForwardedProto" diff --git a/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore.csproj b/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore.csproj index 635691100..4ad9120e0 100644 --- a/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore.csproj +++ b/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore.csproj @@ -4,8 +4,6 @@ - net9.0 - Exe net9.0 enable enable diff --git a/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/ProjectNameDbContextFactory.cs b/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/ProjectNameDbContextFactory.cs index 47ff5d5e7..8e318ec05 100644 --- a/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/ProjectNameDbContextFactory.cs +++ b/aspnet-core/templates/micro/content/migrations/PackageName.CompanyName.ProjectName.DbMigrator.EntityFrameworkCore/ProjectNameDbContextFactory.cs @@ -12,7 +12,7 @@ public class ProjectNameDbContextFactory : IDesignTimeDbContextFactory builder = null; + DbContextOptionsBuilder? builder = null; try { diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application.Contracts/PackageName.CompanyName.ProjectName.Application.Contracts.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application.Contracts/PackageName.CompanyName.ProjectName.Application.Contracts.csproj index ef232e50a..219a55397 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application.Contracts/PackageName.CompanyName.ProjectName.Application.Contracts.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application.Contracts/PackageName.CompanyName.ProjectName.Application.Contracts.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application/PackageName.CompanyName.ProjectName.Application.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application/PackageName.CompanyName.ProjectName.Application.csproj index b36251c2d..6c408dfaf 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application/PackageName.CompanyName.ProjectName.Application.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Application/PackageName.CompanyName.ProjectName.Application.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Dapr.Client/PackageName.CompanyName.ProjectName.Dapr.Client.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Dapr.Client/PackageName.CompanyName.ProjectName.Dapr.Client.csproj index b8cf4ae19..3548fa07d 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Dapr.Client/PackageName.CompanyName.ProjectName.Dapr.Client.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Dapr.Client/PackageName.CompanyName.ProjectName.Dapr.Client.csproj @@ -5,6 +5,12 @@ net9.0 + PackageName.CompanyName.ProjectName.Dapr.Client + PackageName.CompanyName.ProjectName.Dapr.Client + false + false + false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain.Shared/PackageName.CompanyName.ProjectName.Domain.Shared.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain.Shared/PackageName.CompanyName.ProjectName.Domain.Shared.csproj index 749aa5eaa..58e1c6ee8 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain.Shared/PackageName.CompanyName.ProjectName.Domain.Shared.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain.Shared/PackageName.CompanyName.ProjectName.Domain.Shared.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName.CompanyName.ProjectName.Domain.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName.CompanyName.ProjectName.Domain.csproj index 160b74c5c..cd4f20f6f 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName.CompanyName.ProjectName.Domain.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName.CompanyName.ProjectName.Domain.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName/CompanyName/ProjectName/ProjectNameDbProperties.cs b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName/CompanyName/ProjectName/ProjectNameDbProperties.cs index a18947c6c..76340a37e 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName/CompanyName/ProjectName/ProjectNameDbProperties.cs +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.Domain/PackageName/CompanyName/ProjectName/ProjectNameDbProperties.cs @@ -4,7 +4,7 @@ public static class ProjectNameDbProperties { public static string DbTablePrefix { get; set; } = "ProjectName_"; - public static string DbSchema { get; set; } = null; + public static string? DbSchema { get; set; } = null; public const string ConnectionStringName = "ProjectName"; diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName.CompanyName.ProjectName.EntityFrameworkCore.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName.CompanyName.ProjectName.EntityFrameworkCore.csproj index 6739ab8bd..b62eccb1f 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName.CompanyName.ProjectName.EntityFrameworkCore.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName.CompanyName.ProjectName.EntityFrameworkCore.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/EfCoreProjectNameRepository.cs b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/EfCoreProjectNameRepository.cs index 2d68cf660..6ca9a0a89 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/EfCoreProjectNameRepository.cs +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/EfCoreProjectNameRepository.cs @@ -17,16 +17,19 @@ namespace PackageName.CompanyName.ProjectName.EntityFrameworkCore; /// /// 实体类型 /// 实体主键类型 -public abstract class EfCoreProjectNameRepository : - EfCoreDataProtectionRepository, +/// 实体数据权限类型/typeparam> +public abstract class EfCoreProjectNameRepository : + EfCoreDataProtectionRepository, IProjectNameBasicRepository - where TEntity : class, IEntity + where TEntity : class, IEntity, IDataProtected + where TEntityAuth : DataAuthBase { protected EfCoreProjectNameRepository( - IDbContextProvider dbContextProvider, + IDbContextProvider dbContextProvider, IDataAuthorizationService dataAuthorizationService, - IEntityTypeFilterBuilder entityTypeFilterBuilder) - : base(dbContextProvider, dataAuthorizationService, entityTypeFilterBuilder) + IEntityTypeFilterBuilder entityTypeFilterBuilder, + IEntityPropertyResultBuilder entityPropertyResultBuilder) + : base(dbContextProvider, dataAuthorizationService, entityTypeFilterBuilder, entityPropertyResultBuilder) { } @@ -34,7 +37,7 @@ public abstract class EfCoreProjectNameRepository : ISpecification specification, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()) + return await (await GetQueryableAsync()) .Where(specification.ToExpression()) .CountAsync(GetCancellationToken(cancellationToken)); } @@ -46,7 +49,7 @@ public abstract class EfCoreProjectNameRepository : int skipCount = 0, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()) + return await (await GetQueryableAsync()) .Where(specification.ToExpression()) .OrderBy(GetSortingOrDefault(sorting)) .PageBy(skipCount, maxResultCount) @@ -59,7 +62,7 @@ public abstract class EfCoreProjectNameRepository : int maxResultCount = 10, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()) + return await (await GetQueryableAsync()) .Where(specification.ToExpression()) .OrderBy(GetSortingOrDefault(sorting)) .Take(maxResultCount) diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameDbContextModelCreatingExtensions.cs b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameDbContextModelCreatingExtensions.cs index 726b4ec9a..424bc8334 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameDbContextModelCreatingExtensions.cs +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameDbContextModelCreatingExtensions.cs @@ -8,7 +8,7 @@ public static class ProjectNameDbContextModelCreatingExtensions { public static void ConfigureProjectName( this ModelBuilder builder, - Action optionsAction = null) + Action? optionsAction = null) { Check.NotNull(builder, nameof(builder)); diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameModelBuilderConfigurationOptions.cs b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameModelBuilderConfigurationOptions.cs index 5849eb902..4a38b71f8 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameModelBuilderConfigurationOptions.cs +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.EntityFrameworkCore/PackageName/CompanyName/ProjectName/EntityFrameworkCore/ProjectNameModelBuilderConfigurationOptions.cs @@ -7,7 +7,7 @@ public class ProjectNameModelBuilderConfigurationOptions : AbpModelBuilderConfig { public ProjectNameModelBuilderConfigurationOptions( [NotNull] string tablePrefix = "", - [CanBeNull] string schema = null) + [CanBeNull] string? schema = null) : base( tablePrefix, schema) diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi.Client/PackageName.CompanyName.ProjectName.HttpApi.Client.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi.Client/PackageName.CompanyName.ProjectName.HttpApi.Client.csproj index a50629080..c699e33d0 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi.Client/PackageName.CompanyName.ProjectName.HttpApi.Client.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi.Client/PackageName.CompanyName.ProjectName.HttpApi.Client.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi/PackageName.CompanyName.ProjectName.HttpApi.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi/PackageName.CompanyName.ProjectName.HttpApi.csproj index 330468a97..47d45662f 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi/PackageName.CompanyName.ProjectName.HttpApi.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.HttpApi/PackageName.CompanyName.ProjectName.HttpApi.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName.CompanyName.ProjectName.SettingManagement.csproj b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName.CompanyName.ProjectName.SettingManagement.csproj index 6d486446b..7f0ac5a52 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName.CompanyName.ProjectName.SettingManagement.csproj +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName.CompanyName.ProjectName.SettingManagement.csproj @@ -10,6 +10,7 @@ false false false + enable diff --git a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName/CompanyName/ProjectName/SettingManagement/ProjectNameSettingAppService.cs b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName/CompanyName/ProjectName/SettingManagement/ProjectNameSettingAppService.cs index 4fab9bdd6..f7a6c097a 100644 --- a/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName/CompanyName/ProjectName/SettingManagement/ProjectNameSettingAppService.cs +++ b/aspnet-core/templates/micro/content/src/PackageName.CompanyName.ProjectName.SettingManagement/PackageName/CompanyName/ProjectName/SettingManagement/ProjectNameSettingAppService.cs @@ -1,7 +1,7 @@ using LINGYUN.Abp.SettingManagement; using Microsoft.AspNetCore.Authorization; -using PackageName.CompanyName.ProjectName.Permissions; using PackageName.CompanyName.ProjectName.Localization; +using PackageName.CompanyName.ProjectName.Permissions; using System.Threading.Tasks; using Volo.Abp.Application.Services; using Volo.Abp.Features; @@ -54,8 +54,6 @@ public class ProjectNameSettingAppService : ApplicationService, IProjectNameSett { await SettingManager.SetForTenantAsync(CurrentTenant.GetId(), setting.Name, setting.Value); } - - await CurrentUnitOfWork.SaveChangesAsync(); } } @@ -69,8 +67,6 @@ public class ProjectNameSettingAppService : ApplicationService, IProjectNameSett { await SettingManager.SetForCurrentUserAsync(setting.Name, setting.Value); } - - await CurrentUnitOfWork.SaveChangesAsync(); } [Authorize(ProjectNamePermissions.ManageSettings)] @@ -83,8 +79,6 @@ public class ProjectNameSettingAppService : ApplicationService, IProjectNameSett { await SettingManager.SetGlobalAsync(setting.Name, setting.Value); } - - await CurrentUnitOfWork.SaveChangesAsync(); } @@ -93,7 +87,7 @@ public class ProjectNameSettingAppService : ApplicationService, IProjectNameSett await FeatureChecker.CheckEnabledAsync(SettingManagementFeatures.Enable); } - protected virtual async Task GetAllForProviderAsync(string providerName, string providerKey) + protected virtual async Task GetAllForProviderAsync(string providerName, string? providerKey = null) { var settingGroups = new SettingGroupResult();