diff --git a/Directory.Packages.props b/Directory.Packages.props
index 78ac63050..35bb39096 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -263,6 +263,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -323,15 +336,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/aspire/LINGYUN.Abp.MicroService.AdminService/Program.cs b/aspnet-core/aspire/LINGYUN.Abp.MicroService.AdminService/Program.cs
index bcbd401f8..a2990eb30 100644
--- a/aspnet-core/aspire/LINGYUN.Abp.MicroService.AdminService/Program.cs
+++ b/aspnet-core/aspire/LINGYUN.Abp.MicroService.AdminService/Program.cs
@@ -26,26 +26,6 @@ try
builder.AddServiceDefaults();
- void LogConfig(IConfiguration config, int index = 0)
- {
- var prefix = "";
- for (var i = 0; i < index; i++)
- {
- prefix = "-" + prefix;
- }
- var children = config.GetChildren();
- if (children.Any())
- {
- foreach (var childrenConfig in children)
- {
- Log.Logger.Information("{prefix}Config: {key}, Value: {value}", prefix, childrenConfig.Key, childrenConfig.Value);
- LogConfig(childrenConfig, index + 1);
- }
- }
- }
-
- LogConfig(builder.Configuration);
-
await builder.AddApplicationAsync(options =>
{
var applicationName = Environment.GetEnvironmentVariable("APPLICATION_NAME") ?? "AdminService";
diff --git a/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/ConfigurationExtensions.cs b/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/ConfigurationExtensions.cs
new file mode 100644
index 000000000..5f7e12511
--- /dev/null
+++ b/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/ConfigurationExtensions.cs
@@ -0,0 +1,72 @@
+using Microsoft.Extensions.Configuration;
+
+namespace Microsoft.Extensions.Hosting;
+
+public static class ConfigurationExtensions
+{
+ public static TBuilder MapDefaultConfiguration(this TBuilder builder) where TBuilder : IHostApplicationBuilder
+ {
+ builder.AddRedisClient("redis");
+ builder.AddRabbitMQClient("rabbitmq");
+ builder.AddElasticsearchClient("elasticsearch");
+
+ // CAP PostgreSql
+ builder.Configuration["CAP:PostgreSql:ConnectionString"] = builder.Configuration.GetConnectionString("Default");
+
+ // CAP RabbitMQ
+ builder.Configuration["CAP:RabbitMQ:HostName"] = builder.Configuration["RABBITMQ_HOST"];
+ builder.Configuration["CAP:RabbitMQ:UserName"] = builder.Configuration["RABBITMQ_USERNAME"];
+ builder.Configuration["CAP:RabbitMQ:Password"] = builder.Configuration["RABBITMQ_PASSWORD"];
+ builder.Configuration["CAP:RabbitMQ:Port"] = builder.Configuration["RABBITMQ_PORT"];
+
+ // Abp RabbitMQ
+ builder.Configuration["RabbitMQ:Default:HostName"] = builder.Configuration["RABBITMQ_HOST"];
+ builder.Configuration["RabbitMQ:Default:UserName"] = builder.Configuration["RABBITMQ_USERNAME"];
+ builder.Configuration["RabbitMQ:Default:Password"] = builder.Configuration["RABBITMQ_PASSWORD"];
+ builder.Configuration["RabbitMQ:Default:Port"] = builder.Configuration["RABBITMQ_PORT"];
+
+ // Elsa RabbitMQ
+ builder.Configuration["Elsa:Rebus:RabbitMQ:Connection"] = builder.Configuration.GetConnectionString("RabbitMQ");
+
+ // Redis
+ var redisConnectionString = builder.Configuration.GetConnectionString("Redis");
+ builder.Configuration["Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=10";
+
+ // DistributedLock
+ builder.Configuration["DistributedLock:Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=11";
+
+ // Features
+ builder.Configuration["Features:Validation:Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=12";
+
+ // SignalR
+ builder.Configuration["SignalR:Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=13,channelPrefix=abp-realtime-channel";
+
+ // Elasticsearch
+ var elasticSearchUrl = builder.Configuration.GetConnectionString("Elasticsearch");
+ var serialogEsConfig = builder.Configuration.GetSection("Serilog:WriteTo");
+
+ void ReplaceElasticsearchLogging(IConfiguration configuration)
+ {
+ foreach (var config in configuration.GetChildren())
+ {
+ if (string.Equals(config["Name"], "Async", StringComparison.InvariantCultureIgnoreCase))
+ {
+ var configureArgs = config.GetSection("Args:configure");
+ ReplaceElasticsearchLogging(configureArgs);
+ }
+ if (string.Equals(config["Name"], "Elasticsearch", StringComparison.InvariantCultureIgnoreCase))
+ {
+ config["Args:nodeUris"] = elasticSearchUrl;
+ }
+ }
+ }
+
+ if (serialogEsConfig.Exists())
+ {
+ ReplaceElasticsearchLogging(serialogEsConfig);
+ }
+ builder.Configuration["Elasticsearch:NodeUris"] = elasticSearchUrl;
+
+ return builder;
+ }
+}
diff --git a/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/Extensions.cs b/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/Extensions.cs
index c8e23fafd..56306a60c 100644
--- a/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/Extensions.cs
+++ b/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/Extensions.cs
@@ -1,13 +1,11 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
-using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Logging;
using OpenTelemetry;
using OpenTelemetry.Metrics;
using OpenTelemetry.Trace;
-using System;
namespace Microsoft.Extensions.Hosting;
@@ -23,7 +21,7 @@ public static class Extensions
{
builder.ConfigureOpenTelemetry();
- builder.ReplaceDefaultConfiguration();
+ builder.MapDefaultConfiguration();
builder.AddDefaultHealthChecks();
@@ -76,6 +74,7 @@ public static class Extensions
//.AddGrpcClientInstrumentation()
.AddHttpClientInstrumentation()
.AddCapInstrumentation()
+ .AddQuartzInstrumentation()
.AddEntityFrameworkCoreInstrumentation();
});
@@ -84,72 +83,6 @@ public static class Extensions
return builder;
}
- public static TBuilder ReplaceDefaultConfiguration(this TBuilder builder) where TBuilder : IHostApplicationBuilder
- {
- builder.AddRedisClient("redis");
- builder.AddRabbitMQClient("rabbitmq");
- builder.AddElasticsearchClient("elasticsearch");
-
- // CAP PostgreSql
- builder.Configuration["CAP:PostgreSql:ConnectionString"] = builder.Configuration.GetConnectionString("Default");
-
- // CAP RabbitMQ
- builder.Configuration["CAP:RabbitMQ:HostName"] = builder.Configuration["RABBITMQ_HOST"];
- builder.Configuration["CAP:RabbitMQ:UserName"] = builder.Configuration["RABBITMQ_USERNAME"];
- builder.Configuration["CAP:RabbitMQ:Password"] = builder.Configuration["RABBITMQ_PASSWORD"];
- builder.Configuration["CAP:RabbitMQ:Port"] = builder.Configuration["RABBITMQ_PORT"];
-
- // Abp RabbitMQ
- builder.Configuration["RabbitMQ:Default:HostName"] = builder.Configuration["RABBITMQ_HOST"];
- builder.Configuration["RabbitMQ:Default:UserName"] = builder.Configuration["RABBITMQ_USERNAME"];
- builder.Configuration["RabbitMQ:Default:Password"] = builder.Configuration["RABBITMQ_PASSWORD"];
- builder.Configuration["RabbitMQ:Default:Port"] = builder.Configuration["RABBITMQ_PORT"];
-
- // Elsa RabbitMQ
- builder.Configuration["Elsa:Rebus:RabbitMQ:Connection"] = builder.Configuration.GetConnectionString("RabbitMQ");
-
- // Redis
- var redisConnectionString = builder.Configuration.GetConnectionString("Redis");
- builder.Configuration["Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=10";
-
- // DistributedLock
- builder.Configuration["DistributedLock:Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=11";
-
- // Features
- builder.Configuration["Features:Validation:Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=12";
-
- // SignalR
- builder.Configuration["SignalR:Redis:Configuration"] = $"{redisConnectionString},defaultDatabase=13,channelPrefix=abp-realtime-channel";
-
- // Elasticsearch
- var elasticSearchUrl = builder.Configuration.GetConnectionString("Elasticsearch");
- var serialogEsConfig = builder.Configuration.GetSection("Serilog:WriteTo");
-
- void ReplaceElasticsearchLogging(IConfiguration configuration)
- {
- foreach (var config in configuration.GetChildren())
- {
- if (string.Equals(config["Name"], "Async", StringComparison.InvariantCultureIgnoreCase))
- {
- var configureArgs = config.GetSection("Args:configure");
- ReplaceElasticsearchLogging(configureArgs);
- }
- if (string.Equals(config["Name"], "Elasticsearch", StringComparison.InvariantCultureIgnoreCase))
- {
- config["Args:nodeUris"] = elasticSearchUrl;
- }
- }
- }
-
- if (serialogEsConfig.Exists())
- {
- ReplaceElasticsearchLogging(serialogEsConfig);
- }
- builder.Configuration["Elasticsearch:NodeUris"] = elasticSearchUrl;
-
- return builder;
- }
-
private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder
{
var useOtlpExporter = !string.IsNullOrWhiteSpace(builder.Configuration["OTEL_EXPORTER_OTLP_ENDPOINT"]);
diff --git a/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/LINGYUN.Abp.MicroService.ServiceDefaults.csproj b/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/LINGYUN.Abp.MicroService.ServiceDefaults.csproj
index 1dbc33319..0eedea1dd 100644
--- a/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/LINGYUN.Abp.MicroService.ServiceDefaults.csproj
+++ b/aspnet-core/aspire/LINGYUN.Abp.MicroService.ServiceDefaults/LINGYUN.Abp.MicroService.ServiceDefaults.csproj
@@ -21,6 +21,7 @@
+