Compare commits

20 Commits

Author SHA1 Message Date
a35e2c8a6e fix 关闭网关服务发现 2025-11-02 00:03:13 +08:00
f7ee31355f chore 移除容器healthchek 2025-11-01 23:33:34 +08:00
3cc7d2b85d feat 网关继承微服务Swagger 2025-11-01 23:30:58 +08:00
ccb12389ee Merge branch 'master' of https://git.konsoft.top/konsoft/KonSoft.Clean 2025-11-01 18:11:16 +08:00
6538c16e3e fix 修复Test环境Swagger不能访问问题 2025-11-01 18:10:51 +08:00
ea3a825825 chore 优化authserver配置 2025-10-30 00:10:48 +08:00
90f0040f63 Merge branch 'master' of https://git.konsoft.top/konsoft/KonSoft.Clean 2025-10-29 23:52:43 +08:00
d4e54f5709 chore 优化authserverAudience 2025-10-29 23:52:40 +08:00
8d9e7658d7 upd:把OAuthClientId和secret的获取移动到了循环的外面 2025-10-28 08:39:41 +08:00
d340be4e2c fix 调整authserver服务https代理配置 2025-10-27 20:23:34 +08:00
4afd7924b7 chore 调整adminservice swagger 2025-10-27 20:21:24 +08:00
30e5e6a4dc upd 2025-10-27 15:53:21 +08:00
df78f842f3 upd: appsettings 2025-10-27 15:42:26 +08:00
5138daebea upd: InternalGateWay AddAbpSwaggerGenWithOidc 2025-10-27 14:47:41 +08:00
bbead3a651 upd: 网关swagger 2025-10-26 22:28:32 +08:00
802624e7ea upd: 网关swagger 2025-10-26 22:13:17 +08:00
b2bccc34f5 upd: 忽略logs.txt文件 2025-10-26 22:12:46 +08:00
f060641e97 upd: UseSwaggerUIWithYarp 2025-10-26 16:03:23 +08:00
e7aaacc410 upd: 网关添加swagger 2025-10-26 15:35:38 +08:00
75cd096b60 upd:刚刚好像没加完 2025-10-26 15:25:45 +08:00
38 changed files with 1555 additions and 107 deletions

1
.gitignore vendored
View File

@ -265,3 +265,4 @@ src/KonSoft.Admin.Blazor.Server.Tiered/Logs/*
**/wwwroot/libs/* **/wwwroot/libs/*
**/Logs/* **/Logs/*
**/logs.txt

View File

@ -22,4 +22,5 @@
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SQL/@EntryIndexedValue">SQL</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SQL/@EntryIndexedValue">SQL</s:String>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Consts/@EntryIndexedValue">True</s:Boolean> <s:Boolean x:Key="/Default/UserDictionary/Words/=Consts/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Iddict/@EntryIndexedValue">True</s:Boolean> <s:Boolean x:Key="/Default/UserDictionary/Words/=Iddict/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Yarp/@EntryIndexedValue">True</s:Boolean>
</wpf:ResourceDictionary> </wpf:ResourceDictionary>

View File

@ -26,6 +26,7 @@ using Volo.Abp.Localization;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.OpenIddict; using Volo.Abp.OpenIddict;
using Volo.Abp.Security.Claims; using Volo.Abp.Security.Claims;
using Volo.Abp.UI.Navigation.Urls;
using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork; using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork;
namespace KonSoft; namespace KonSoft;
@ -50,15 +51,20 @@ public class KonSoftAuthServerModule : AbpModule
{ {
builder.AddValidation(options => builder.AddValidation(options =>
{ {
options.AddAudiences("KonSoft"); options.AddAudiences(KonSoftConsts.AuthServerAudience);
options.UseLocalServer(); options.UseLocalServer();
options.UseAspNetCore(); options.UseAspNetCore();
}); });
}); });
context.Services.Configure<ForwardedHeadersOptions>(options => PreConfigure<ForwardedHeadersOptions>(options =>
{ {
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto |
ForwardedHeaders.XForwardedHost;
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("::ffff:127.0.0.1"), 104));
options.KnownProxies.Add(IPAddress.Parse("::ffff:127.0.0.1"));
}); });
if (!hostingEnvironment.IsDevelopment()) if (!hostingEnvironment.IsDevelopment())
@ -105,6 +111,16 @@ public class KonSoftAuthServerModule : AbpModule
options.ApplicationName = "AuthServer"; options.ApplicationName = "AuthServer";
}); });
Configure<AppUrlOptions>(options =>
{
options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"];
options.RedirectAllowedUrls.AddRange(configuration["App:RedirectAllowedUrls"]?.Split(',') ??
Array.Empty<string>());
options.Applications["Angular"].RootUrl = configuration["App:ClientUrl"];
options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password";
});
Configure<AbpBackgroundJobOptions>(options => { options.IsJobExecutionEnabled = false; }); Configure<AbpBackgroundJobOptions>(options => { options.IsJobExecutionEnabled = false; });
context.Services.Configure<AbpClaimsPrincipalFactoryOptions>(options => context.Services.Configure<AbpClaimsPrincipalFactoryOptions>(options =>
@ -137,17 +153,16 @@ public class KonSoftAuthServerModule : AbpModule
var app = context.GetApplicationBuilder(); var app = context.GetApplicationBuilder();
var env = context.GetEnvironment(); var env = context.GetEnvironment();
if (env.IsDevelopment()) app.UseForwardedHeaders();
app.Use(async (ctx, next) =>
{ {
app.UseDeveloperExceptionPage(); ctx.Request.Scheme = "https";
app.UseForwardedHeaders(); await next();
} });
else
{ app.UseDeveloperExceptionPage();
app.UseErrorPage(); app.UseAbpRequestLocalization();
app.UseForwardedHeaders(); app.UseErrorPage();
app.UseHsts();
}
app.UseAbpRequestLocalization(); app.UseAbpRequestLocalization();

View File

@ -19,7 +19,6 @@ public class Program
var app = await ApplicationBuilderHelper var app = await ApplicationBuilderHelper
.BuildApplicationAsync<KonSoftAuthServerModule>(args); .BuildApplicationAsync<KonSoftAuthServerModule>(args);
await app.InitializeApplicationAsync(); await app.InitializeApplicationAsync();
app.MapGet("/heath", () => "Online");
await app.RunAsync(); await app.RunAsync();
return 0; return 0;

View File

@ -15,12 +15,6 @@ services:
- 8080:8080 - 8080:8080
networks: networks:
- konsoft-shared-network - konsoft-shared-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging: logging:
driver: "json-file" driver: "json-file"
options: options:
@ -45,12 +39,6 @@ services:
- /etc/letsencrypt/archive/code.konsoft.top/openiddict.pfx:/app/openiddict.pfx - /etc/letsencrypt/archive/code.konsoft.top/openiddict.pfx:/app/openiddict.pfx
networks: networks:
- konsoft-shared-network - konsoft-shared-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging: logging:
driver: "json-file" driver: "json-file"
options: options:
@ -71,12 +59,6 @@ services:
- AgileConfig__Secret=DBE31703-14F9-4B01-893D-900B8380CE04 - AgileConfig__Secret=DBE31703-14F9-4B01-893D-900B8380CE04
networks: networks:
- konsoft-shared-network - konsoft-shared-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging: logging:
driver: "json-file" driver: "json-file"
options: options:

View File

@ -0,0 +1,91 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.DependencyInjection;
namespace KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
public class AppConfigurationAggregation : AggregateServiceBase<ApplicationConfigurationDto>,
IAppConfigurationAggregation, ITransientDependency
{
public string AppConfigRouteName => "EshopOnAbpApplicationConfiguration";
public string AppConfigEndpoint => "api/abp/application-configuration";
protected IAppConfigurationRemoteService AppConfigurationRemoteService { get; }
public AppConfigurationAggregation(
IAppConfigurationRemoteService appConfigurationRemoteService) : base(
appConfigurationRemoteService)
{
AppConfigurationRemoteService = appConfigurationRemoteService;
}
public async Task<ApplicationConfigurationDto> GetAppConfigurationAsync(AppConfigurationRequest input)
{
var remoteAppConfigurationResults =
await AppConfigurationRemoteService.GetMultipleAsync(input.Endpoints);
//merge only application configuration settings data
var mergedResult = MergeAppConfigurationSettingsData(remoteAppConfigurationResults);
//return result
return mergedResult;
}
private static ApplicationConfigurationDto MergeAppConfigurationSettingsData(
IDictionary<string, ApplicationConfigurationDto> appConfigurations)
{
var appConfigurationDto = CreateInitialAppConfigDto(appConfigurations);
foreach (var (_, appConfig) in appConfigurations)
{
foreach (var resource in appConfig.Setting.Values)
{
appConfigurationDto.Setting.Values.TryAdd(resource.Key, resource.Value);
}
}
return appConfigurationDto;
}
/// <summary>
/// Checks "Administration" clusterId to set the initial data from the AdministrationService.
/// Otherwise uses the first available service for the initial application configuration data
/// </summary>
/// <param name="appConfigurations"></param>
/// <returns></returns>
private static ApplicationConfigurationDto CreateInitialAppConfigDto(
IDictionary<string, ApplicationConfigurationDto> appConfigurations
)
{
if (appConfigurations.Count == 0)
{
return new ApplicationConfigurationDto();
}
if (appConfigurations.TryGetValue("Administration_AppConfig", out var administrationServiceData))
{
return MapServiceData(administrationServiceData);
}
return MapServiceData(appConfigurations.First().Value);
}
private static ApplicationConfigurationDto MapServiceData(ApplicationConfigurationDto appConfiguration)
{
return new ApplicationConfigurationDto
{
Localization = appConfiguration.Localization,
Auth = appConfiguration.Auth,
Clock = appConfiguration.Clock,
Setting = appConfiguration.Setting,
Features = appConfiguration.Features,
Timing = appConfiguration.Timing,
CurrentTenant = appConfiguration.CurrentTenant,
CurrentUser = appConfiguration.CurrentUser,
ExtraProperties = appConfiguration.ExtraProperties,
GlobalFeatures = appConfiguration.GlobalFeatures,
MultiTenancy = appConfiguration.MultiTenancy,
ObjectExtensions = appConfiguration.ObjectExtensions
};
}
}

View File

@ -0,0 +1,9 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Microsoft.Extensions.Caching.Memory;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.DependencyInjection;
namespace KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
public class AppConfigurationCachedService(IMemoryCache applicationConfigurationCache)
: CachedServiceBase<ApplicationConfigurationDto>(applicationConfigurationCache), ISingletonDependency;

View File

@ -0,0 +1,13 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Json;
namespace KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
public class AppConfigurationRemoteService(
IHttpContextAccessor httpContextAccessor,
IJsonSerializer jsonSerializer,
ILogger<AggregateRemoteServiceBase<ApplicationConfigurationDto>> logger)
: AggregateRemoteServiceBase<ApplicationConfigurationDto>(httpContextAccessor, jsonSerializer, logger),
IAppConfigurationRemoteService, ITransientDependency;

View File

@ -0,0 +1,8 @@
using KonSoft.InternalGateway.Aggregations.Base;
namespace KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
public class AppConfigurationRequest : IRequestInput
{
public Dictionary<string, string> Endpoints { get; } = new();
}

View File

@ -0,0 +1,10 @@
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
namespace KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
public interface IAppConfigurationAggregation
{
string AppConfigRouteName { get; }
string AppConfigEndpoint { get; }
Task<ApplicationConfigurationDto> GetAppConfigurationAsync(AppConfigurationRequest input);
}

View File

@ -0,0 +1,6 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
namespace KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
public interface IAppConfigurationRemoteService : IAggregateRemoteService<ApplicationConfigurationDto>;

View File

@ -0,0 +1,103 @@
using Volo.Abp.Json;
namespace KonSoft.InternalGateway.Aggregations.Base;
public abstract class AggregateRemoteServiceBase<TDto> : IAggregateRemoteService<TDto>
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ILogger<AggregateRemoteServiceBase<TDto>> _logger;
protected IJsonSerializer JsonSerializer { get; }
protected AggregateRemoteServiceBase(IHttpContextAccessor httpContextAccessor, IJsonSerializer jsonSerializer,
ILogger<AggregateRemoteServiceBase<TDto>> logger)
{
_httpContextAccessor = httpContextAccessor;
JsonSerializer = jsonSerializer;
_logger = logger;
}
public async Task<Dictionary<string, TDto>> GetMultipleAsync(
Dictionary<string, string> serviceNameWithUrlDictionary)
{
Dictionary<string, Task<TDto>> completedTasks = new Dictionary<string, Task<TDto>>();
Dictionary<string, Task<TDto>> runningTasks = new Dictionary<string, Task<TDto>>();
Dictionary<string, TDto> completedResult = new Dictionary<string, TDto>();
using (HttpClient httpClient = CreateHttpClient())
{
foreach (var service in serviceNameWithUrlDictionary)
{
Task<TDto> requestTask =
MakeRequestAsync<TDto>(httpClient, service.Value);
runningTasks.Add(service.Key, requestTask);
}
while (runningTasks.Count > 0)
{
KeyValuePair<string, Task<TDto>> completedTask = await WaitForAnyTaskAsync(runningTasks);
runningTasks.Remove(completedTask.Key);
try
{
TDto result = await completedTask.Value;
completedTasks.Add(completedTask.Key, completedTask.Value);
completedResult.Add(completedTask.Key, result);
_logger.LogInformation("Localization Key: {0}, Value: {1}", completedTask.Key, result);
}
catch (Exception ex)
{
_logger.LogInformation("Error for the {0}: {1}", completedTask.Key, ex.Message);
}
}
}
return completedResult;
}
private HttpClient CreateHttpClient()
{
var httpClient = new HttpClient();
var headers = _httpContextAccessor.HttpContext?.Request.Headers;
if (headers != null)
{
foreach (var header in headers)
{
httpClient.DefaultRequestHeaders.Add(header.Key, header.Value.ToArray());
}
}
return httpClient;
}
public async Task<T> MakeRequestAsync<T>(HttpClient httpClient, string url)
{
try
{
HttpResponseMessage response = await httpClient.GetAsync(url);
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<T>(content);
}
catch (Exception e)
{
_logger.LogInformation("Error making request to {0}: {1}", url, e.Message);
throw;
}
}
public async Task<KeyValuePair<TKey, Task<TValue>>> WaitForAnyTaskAsync<TKey, TValue>(
Dictionary<TKey, Task<TValue>> tasks)
{
var completedTask = Task.WhenAny(tasks.Values);
var result = await completedTask;
var completedTaskPair = tasks.First(kv => kv.Value == result);
return completedTaskPair;
}
}

View File

@ -0,0 +1,30 @@
namespace KonSoft.InternalGateway.Aggregations.Base;
public abstract class AggregateServiceBase<TDto>
{
private readonly IAggregateRemoteService<TDto> _remoteService;
public AggregateServiceBase(IAggregateRemoteService<TDto> remoteService)
{
_remoteService = remoteService;
}
public virtual async Task<Dictionary<string, TDto>> GetMultipleFromRemoteAsync(List<string> missingKeys,
Dictionary<string, string> endpoints)
{
return await _remoteService
.GetMultipleAsync(endpoints
.Where(kv => missingKeys.Contains(kv.Key))
.ToDictionary(k => k.Key, v => v.Value));
}
public List<string> GetMissingServiceKeys(
IDictionary<string, TDto> serviceNamesWithData,
Dictionary<string, string> serviceNamesWithUrls)
{
List<string> missingKeysInCache = serviceNamesWithUrls.Keys.Except(serviceNamesWithData.Keys).ToList();
List<string> missingKeysInUrls = serviceNamesWithData.Keys.Except(serviceNamesWithUrls.Keys).ToList();
return missingKeysInCache.Concat(missingKeysInUrls).ToList();
}
}

View File

@ -0,0 +1,39 @@
using Microsoft.Extensions.Caching.Memory;
namespace KonSoft.InternalGateway.Aggregations.Base;
public abstract class CachedServiceBase<TCacheValue> : ICachedServiceBase<TCacheValue>
{
private readonly IMemoryCache _cache;
protected MemoryCacheEntryOptions CacheEntryOptions { get; } = new()
{
AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(24),
SlidingExpiration = TimeSpan.FromHours(4)
};
protected CachedServiceBase(IMemoryCache cache)
{
_cache = cache ?? throw new ArgumentNullException(nameof(cache));
}
public void Add(string serviceName, TCacheValue data)
{
_cache.Set(serviceName, data, CacheEntryOptions);
}
public IDictionary<string, TCacheValue> GetManyAsync(IEnumerable<string> serviceNames)
{
var result = new Dictionary<string, TCacheValue>();
foreach (var serviceName in serviceNames)
{
if (_cache.TryGetValue(serviceName, out TCacheValue data))
{
result.Add(serviceName, data);
}
}
return result;
}
}

View File

@ -0,0 +1,8 @@
namespace KonSoft.InternalGateway.Aggregations.Base;
public interface IAggregateRemoteService<TDto>
{
Task<Dictionary<string, TDto>> GetMultipleAsync(Dictionary<string, string> serviceNameWithUrlDictionary);
Task<T> MakeRequestAsync<T>(HttpClient httpClient, string url);
Task<KeyValuePair<TKey, Task<TValue>>> WaitForAnyTaskAsync<TKey, TValue>(Dictionary<TKey, Task<TValue>> tasks);
}

View File

@ -0,0 +1,7 @@
namespace KonSoft.InternalGateway.Aggregations.Base;
public interface ICachedServiceBase<TValue>
{
void Add(string serviceName, TValue data);
IDictionary<string, TValue> GetManyAsync(IEnumerable<string> serviceNames);
}

View File

@ -0,0 +1,6 @@
namespace KonSoft.InternalGateway.Aggregations.Base;
public interface IRequestInput
{
Dictionary<string, string> Endpoints { get; }
}

View File

@ -0,0 +1,10 @@
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
namespace KonSoft.InternalGateway.Aggregations.Localization;
public interface ILocalizationAggregation
{
string LocalizationRouteName { get; }
string LocalizationEndpoint { get; }
Task<ApplicationLocalizationDto> GetLocalizationAsync(LocalizationRequest input);
}

View File

@ -0,0 +1,6 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
namespace KonSoft.InternalGateway.Aggregations.Localization;
public interface ILocalizationRemoteService : IAggregateRemoteService<ApplicationLocalizationDto>;

View File

@ -0,0 +1,69 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.DependencyInjection;
namespace KonSoft.InternalGateway.Aggregations.Localization;
public class LocalizationAggregation : AggregateServiceBase<ApplicationLocalizationDto>, ILocalizationAggregation,
ITransientDependency
{
public string LocalizationRouteName => "EshopOnAbpLocalization";
public string LocalizationEndpoint => "api/abp/application-localization";
protected LocalizationCachedService LocalizationCachedService { get; }
public LocalizationAggregation(
LocalizationCachedService localizationCachedService,
ILocalizationRemoteService localizationRemoteService)
: base(localizationRemoteService)
{
LocalizationCachedService = localizationCachedService;
}
public async Task<ApplicationLocalizationDto> GetLocalizationAsync(LocalizationRequest input)
{
// Check the cache service
var cachedLocalization = LocalizationCachedService
.GetManyAsync(input.Endpoints.Keys.ToArray());
// Compare cache with input service list
var missingLocalizationKeys = GetMissingServiceKeys(cachedLocalization, input.Endpoints);
if (missingLocalizationKeys.Count != 0)
{
// Make request to remote localization service to get missing localizations
var remoteLocalizationResults =
await GetMultipleFromRemoteAsync(missingLocalizationKeys, input.Endpoints);
// Update localization cache
foreach (var result in remoteLocalizationResults)
{
LocalizationCachedService.Add(result.Key, result.Value);
}
cachedLocalization = LocalizationCachedService
.GetManyAsync(input.Endpoints.Keys.ToArray());
}
//merge result
var mergedResult = MergeLocalizationData(cachedLocalization);
//return result
return mergedResult;
}
private static ApplicationLocalizationDto MergeLocalizationData(
IDictionary<string, ApplicationLocalizationDto> resourceDictionary)
{
var localizationDto = new ApplicationLocalizationDto();
foreach (var localization in resourceDictionary)
{
foreach (var resource in localization.Value.Resources)
{
localizationDto.Resources.TryAdd(resource.Key, resource.Value);
}
}
return localizationDto;
}
}

View File

@ -0,0 +1,9 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Microsoft.Extensions.Caching.Memory;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.DependencyInjection;
namespace KonSoft.InternalGateway.Aggregations.Localization;
public class LocalizationCachedService(IMemoryCache localizationCache)
: CachedServiceBase<ApplicationLocalizationDto>(localizationCache), ISingletonDependency;

View File

@ -0,0 +1,18 @@
using KonSoft.InternalGateway.Aggregations.Base;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Json;
namespace KonSoft.InternalGateway.Aggregations.Localization;
public class LocalizationRemoteService : AggregateRemoteServiceBase<ApplicationLocalizationDto>,
ILocalizationRemoteService, ITransientDependency
{
public LocalizationRemoteService(
IHttpContextAccessor httpContextAccessor,
IJsonSerializer jsonSerializer,
ILogger<AggregateRemoteServiceBase<ApplicationLocalizationDto>> logger)
: base(httpContextAccessor, jsonSerializer, logger)
{
}
}

View File

@ -0,0 +1,14 @@
using KonSoft.InternalGateway.Aggregations.Base;
namespace KonSoft.InternalGateway.Aggregations.Localization;
public class LocalizationRequest : IRequestInput
{
public Dictionary<string, string> Endpoints { get; } = new();
public string CultureName { get; set; }
public LocalizationRequest(string cultureName)
{
CultureName = cultureName;
}
}

View File

@ -1,4 +1,5 @@
using Yarp.ReverseProxy.Configuration; using Microsoft.AspNetCore.Builder;
using Yarp.ReverseProxy.Configuration;
namespace KonSoft.InternalGateway.Extensions namespace KonSoft.InternalGateway.Extensions
{ {
public static class YarpSwaggerUIBuilderExtensions public static class YarpSwaggerUIBuilderExtensions
@ -24,7 +25,10 @@ namespace KonSoft.InternalGateway.Extensions
.Select(t => t.First()) .Select(t => t.First())
.Distinct() .Distinct()
.ToList(); .ToList();
var gatewayUrl = configuration["GatewayUrl"];
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
foreach (var clusterGroup in groupedClusters) foreach (var clusterGroup in groupedClusters)
{ {
var routeConfig = yarpConfig.Routes.FirstOrDefault(q => var routeConfig = yarpConfig.Routes.FirstOrDefault(q =>
@ -35,9 +39,8 @@ namespace KonSoft.InternalGateway.Extensions
continue; continue;
} }
options.SwaggerEndpoint($"{clusterGroup.Value.Address}/swagger/v1/swagger.json", $"{routeConfig.RouteId} API"); // options.SwaggerEndpoint($"{clusterGroup.Value.Address}/swagger/v1/swagger.json", $"{routeConfig.RouteId} API");
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); options.SwaggerEndpoint(new Uri(new Uri(!string.IsNullOrWhiteSpace(gatewayUrl)? gatewayUrl: clusterGroup.Value.Address), $"{routeConfig.RouteId.Split("-")[0]}/swagger/v1/swagger.json").AbsoluteUri, $"{routeConfig.RouteId} API");
options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
} }
}); });

View File

@ -1,5 +1,9 @@
using KonSoft.Admin; using KonSoft.Admin;
using KonSoft.Shared.Hosting.AspNetCore;
using KonSoft.Shared.Hosting.Gateways; using KonSoft.Shared.Hosting.Gateways;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Rewrite;
using Volo.Abp;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace KonSoft.InternalGateway namespace KonSoft.InternalGateway
@ -10,5 +14,71 @@ namespace KonSoft.InternalGateway
)] )]
public class InternalGatewayModule : AbpModule public class InternalGatewayModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var hostingEnvironment = context.Services.GetHostingEnvironment();
SwaggerConfigurationHelper.ConfigureWithOidc(
context: context,
authority: configuration["AuthServer:Authority"]!,
scopes:
[
"Admin", "Dispatch", "Payment", "Report", "TenantManagement"
],
apiTitle: "Internal Gateway API",
discoveryEndpoint: configuration["AuthServer:MetadataAddress"]
);
context.Services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder
.WithOrigins(
configuration["App:CorsOrigins"]!
.Split(",", StringSplitOptions.RemoveEmptyEntries)
.Select(o => o.Trim().RemovePostFix("/"))
.ToArray()
)
.WithAbpExposedHeaders()
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
context.Services.AddMemoryCache();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCorrelationId();
app.UseCors();
app.UseAbpRequestLocalization();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseSwaggerUIWithYarp(context);
app.UseAbpSerilogEnrichers();
app.UseRewriter(new RewriteOptions()
// Regex for "", "/" and "" (whitespace)
.AddRedirect("^(|\\|\\s+)$", "/swagger"));
app.UseEndpoints(endpoints =>
{
endpoints.MapReverseProxyWithLocalization();
});
}
} }
} }

View File

@ -1,6 +0,0 @@
@KonSoft.InternalGateway_HostAddress = http://localhost:5090
GET {{KonSoft.InternalGateway_HostAddress}}/weatherforecast/
Accept: application/json
###

View File

@ -1,6 +1,6 @@
using KonSoft.InternalGateway; using KonSoft.InternalGateway;
using KonSoft.InternalGateway.Extensions;
using KonSoft.Shared.Hosting.AspNetCore; using KonSoft.Shared.Hosting.AspNetCore;
using KonSoft.Shared.Hosting.Gateways;
using Serilog; using Serilog;
var assemblyName = typeof(Program).Assembly.GetName().Name!; var assemblyName = typeof(Program).Assembly.GetName().Name!;
@ -8,6 +8,8 @@ SerilogConfigurationHelper.Configure(assemblyName);
try try
{ {
Log.Information($"Starting {assemblyName}.");
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
builder.Configuration builder.Configuration
.AddAgileConfig(option => .AddAgileConfig(option =>
@ -18,14 +20,10 @@ try
.AddAppSettingsSecretsJson() .AddAppSettingsSecretsJson()
.UseAutofac() .UseAutofac()
.UseSerilog(); .UseSerilog();
builder.Services.AddReverseProxy()
.LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
await builder.AddApplicationAsync<InternalGatewayModule>(); await builder.AddApplicationAsync<InternalGatewayModule>();
var app = builder.Build(); var app = builder.Build();
await app.InitializeApplicationAsync(); await app.InitializeApplicationAsync();
app.MapReverseProxy();
app.MapGet("/heath", () => "Online");
app.UseSwaggerUIWithYarp();
await app.RunAsync(); await app.RunAsync();
return 0; return 0;

View File

@ -1,15 +1,5 @@
{ {
"profiles": { "profiles": {
"http": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"dotnetRunMessages": true,
"applicationUrl": "http://localhost:5090"
},
"https": { "https": {
"commandName": "Project", "commandName": "Project",
"launchBrowser": true, "launchBrowser": true,
@ -18,35 +8,8 @@
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
}, },
"dotnetRunMessages": true, "dotnetRunMessages": true,
"applicationUrl": "https://localhost:7264;http://localhost:5090" "applicationUrl": "https://localhost:7264"
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Container (Dockerfile)": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
"environmentVariables": {
"ASPNETCORE_HTTPS_PORTS": "8081",
"ASPNETCORE_HTTP_PORTS": "8080"
},
"publishAllPorts": true,
"useSSL": true
} }
}, },
"$schema": "http://json.schemastore.org/launchsettings.json", "$schema": "http://json.schemastore.org/launchsettings.json"
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:15968",
"sslPort": 44395
}
}
} }

View File

@ -0,0 +1,109 @@
using KonSoft.InternalGateway.Aggregations.ApplicationConfiguration;
using KonSoft.InternalGateway.Aggregations.Localization;
using Yarp.ReverseProxy.Configuration;
namespace KonSoft.InternalGateway
{
public static class ReverseProxyBuilderExtensions
{
public static ReverseProxyConventionBuilder MapReverseProxyWithLocalization(
this IEndpointRouteBuilder endpoints)
{
return endpoints.MapReverseProxy(proxyBuilder =>
{
proxyBuilder.Use(async (context, next) =>
{
var endpoint = context.GetEndpoint();
var localizationAggregation = context.RequestServices
.GetRequiredService<ILocalizationAggregation>();
var appConfigurationAggregation = context.RequestServices
.GetRequiredService<IAppConfigurationAggregation>();
// The "/api/abp/application-localization" endpoint
if (localizationAggregation.LocalizationRouteName == endpoint?.DisplayName)
{
var localizationRequestInput =
CreateLocalizationRequestInput(context, localizationAggregation.LocalizationEndpoint);
var result = await localizationAggregation.GetLocalizationAsync(localizationRequestInput);
await context.Response.WriteAsJsonAsync(result);
return;
}
// The "/api/abp/application-configuration" endpoint
if (appConfigurationAggregation.AppConfigRouteName == endpoint?.DisplayName)
{
var appConfigurationRequestInput =
CreateAppConfigurationRequestInput(context, appConfigurationAggregation.AppConfigEndpoint);
var result =
await appConfigurationAggregation.GetAppConfigurationAsync(appConfigurationRequestInput);
await context.Response.WriteAsJsonAsync(result);
return;
}
await next();
});
proxyBuilder.UseLoadBalancing();
});
}
private static AppConfigurationRequest CreateAppConfigurationRequestInput(HttpContext context,
string appConfigurationPath)
{
var proxyConfig = context.RequestServices.GetRequiredService<IProxyConfigProvider>();
var input = new AppConfigurationRequest();
string path = $"{appConfigurationPath}?includeLocalizationResources=false";
var clusterList = GetClusters(proxyConfig);
foreach (var cluster in clusterList)
{
var hostUrl = new Uri(cluster.Value.Address) + $"{path}";
// CacheKey/Endpoint dictionary key -> ex: ("Administration_AppConfig")
input.Endpoints.Add($"{cluster.Key}_AppConfig", hostUrl);
}
return input;
}
private static LocalizationRequest CreateLocalizationRequestInput(HttpContext context,
string localizationPath)
{
var proxyConfig = context.RequestServices.GetRequiredService<IProxyConfigProvider>();
context.Request.Query.TryGetValue("CultureName", out var cultureName);
var input = new LocalizationRequest(cultureName);
string path = $"{localizationPath}?cultureName={cultureName}&onlyDynamics=false";
var clusterList = GetClusters(proxyConfig);
foreach (var cluster in clusterList)
{
var hostUrl = new Uri(cluster.Value.Address) + $"{path}";
// Endpoint dictionary key -> ex: ("Administration_en")
input.Endpoints.Add($"{cluster.Key}_{cultureName}", hostUrl);
}
return input;
}
private static Dictionary<string, DestinationConfig> GetClusters(IProxyConfigProvider proxyConfig)
{
var yarpConfig = proxyConfig.GetConfig();
var routedClusters = yarpConfig.Clusters
.SelectMany(t => t.Destinations,
(clusterId, destination) => new { clusterId.ClusterId, destination.Value });
return routedClusters
.GroupBy(q => q.Value.Address)
.Select(t => t.First())
.Distinct()
.ToDictionary(k => k.ClusterId, v => v.Value);
}
}
}

View File

@ -4,5 +4,11 @@
"name": "KonSoft.InternalGateway", "name": "KonSoft.InternalGateway",
"nodes": "https://config.konsoft.top/", "nodes": "https://config.konsoft.top/",
"secret": "DBE31703-14F9-4B01-893D-900B8380CE04" "secret": "DBE31703-14F9-4B01-893D-900B8380CE04"
},
"AuthServer": {
"Authority": "https://devauth.konsoft.top",
"RequireHttpsMetadata": true,
"SwaggerClientId": "Gateway_Swagger",
"MetadataAddress": "https://devauth.konsoft.top"
} }
} }

View File

@ -26,7 +26,7 @@ public class AdminHttpApiHostModule : AbpModule
SwaggerConfigurationHelper.ConfigureWithOidc( SwaggerConfigurationHelper.ConfigureWithOidc(
context, context,
configuration["AuthServer:Authority"]!, configuration["AuthServer:Authority"]!,
["AdministrationService"], ["Admin", "Dispatch", "Payment", "Report", "TenantManagement"],
discoveryEndpoint: configuration["AuthServer:MetadataAddress"], discoveryEndpoint: configuration["AuthServer:MetadataAddress"],
apiTitle: "Administration Service API" apiTitle: "Administration Service API"
); );
@ -69,7 +69,14 @@ public class AdminHttpApiHostModule : AbpModule
app.UseSwagger(); app.UseSwagger();
app.UseAbpSwaggerUI(options => app.UseAbpSwaggerUI(options =>
{ {
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Admin API"); if (env.IsDevelopment())
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Admin API");
}
else
{
options.SwaggerEndpoint("/admin/swagger/v1/swagger.json", "Admin API");
}
var configuration = context.GetConfiguration(); var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);

View File

@ -1163,3 +1163,784 @@ System.InvalidOperationException: An exception has been raised that is likely du
2025-10-26 10:39:21.030 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule 2025-10-26 10:39:21.030 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2025-10-26 10:39:21.030 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule 2025-10-26 10:39:21.030 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2025-10-26 10:39:21.367 +08:00 [DBG] Started background worker: Volo.Abp.OpenIddict.Tokens.TokenCleanupBackgroundWorker 2025-10-26 10:39:21.367 +08:00 [DBG] Started background worker: Volo.Abp.OpenIddict.Tokens.TokenCleanupBackgroundWorker
2025-11-01 23:08:03.175 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:08:40.817 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:09:42.918 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:10:34.620 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:10:36.756 +08:00 [INF] Loaded ABP modules:
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.AdminHttpApiHostModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.AdminHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.AdminApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.AdminDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Users.AbpUsersAbstractionModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Account.AbpAccountHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Caching.AbpCachingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Serialization.AbpSerializationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.HttpApi.AbpPermissionManagementHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementHttpApiModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.AdminApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.AdminDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.OpenIddict.AbpPermissionManagementDomainOpenIddictModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.Identity.AbpPermissionManagementDomainIdentityModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Emailing.AbpEmailingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TextTemplating.Scriban.AbpTextTemplatingScribanModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Admin.EntityFrameworkCore.AdminEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Identity.EntityFrameworkCore.AbpIdentityEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Users.EntityFrameworkCore.AbpUsersEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.OpenIddict.EntityFrameworkCore.AbpOpenIddictEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.PostgreSql.AbpEntityFrameworkCorePostgreSqlModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundJobs.EntityFrameworkCore.AbpBackgroundJobsEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.TenantManagement.EntityFrameworkCore.AbpTenantManagementEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Shared.Hosting.Microservices.KonSoftSharedHostingMicroservicesModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Shared.Hosting.AspNetCore.KonSoftSharedHostingAspNetCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Shared.Localization.KonSoftSharedLocalizationModule
2025-11-01 23:10:36.757 +08:00 [INF] - KonSoft.Shared.Hosting.KonSoftSharedHostingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Authentication.JwtBearer.AbpAspNetCoreAuthenticationJwtBearerModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2025-11-01 23:10:36.757 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2025-11-01 23:10:37.306 +08:00 [INF] Initialized all ABP modules.
2025-11-01 23:10:37.523 +08:00 [INF] Now listening on: http://localhost:44354
2025-11-01 23:10:37.568 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2025-11-01 23:10:37.569 +08:00 [INF] Hosting environment: Development
2025-11-01 23:10:37.569 +08:00 [INF] Content root path: C:\Users\Administrator\source\repos\KonSoft.Clean\microservices\KonSoft.Admin.HttpApi.Host
2025-11-01 23:10:37.900 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/ - null null
2025-11-01 23:10:40.646 +08:00 [INF] Executing endpoint 'KonSoft.Admin.Controllers.HomeController.Index (KonSoft.Admin.HttpApi.Host)'
2025-11-01 23:10:40.667 +08:00 [INF] Route matched with {action = "Index", controller = "Home", area = "", page = ""}. Executing controller action with signature Microsoft.AspNetCore.Mvc.ActionResult Index() on controller KonSoft.Admin.Controllers.HomeController (KonSoft.Admin.HttpApi.Host).
2025-11-01 23:10:40.680 +08:00 [INF] Executing RedirectResult, redirecting to /swagger.
2025-11-01 23:10:40.682 +08:00 [INF] Executed action KonSoft.Admin.Controllers.HomeController.Index (KonSoft.Admin.HttpApi.Host) in 12.8975ms
2025-11-01 23:10:40.682 +08:00 [INF] Executed endpoint 'KonSoft.Admin.Controllers.HomeController.Index (KonSoft.Admin.HttpApi.Host)'
2025-11-01 23:10:40.687 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/ - 302 0 null 2786.7132ms
2025-11-01 23:10:40.687 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger - null null
2025-11-01 23:10:40.691 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger - 301 0 null 3.9366ms
2025-11-01 23:10:40.694 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/index.html - null null
2025-11-01 23:10:40.724 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/index.html - 200 null text/html;charset=utf-8 29.7605ms
2025-11-01 23:10:40.788 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/swagger-ui.css - null null
2025-11-01 23:10:40.789 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/ui/abp.js - null null
2025-11-01 23:10:40.791 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/swagger-ui-bundle.js - null null
2025-11-01 23:10:40.790 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/ui/abp.swagger.js - null null
2025-11-01 23:10:40.791 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/swagger-ui-standalone-preset.js - null null
2025-11-01 23:10:40.791 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/_framework/aspnetcore-browser-refresh.js - null null
2025-11-01 23:10:40.792 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/_framework/aspnetcore-browser-refresh.js - 200 16537 application/javascript; charset=utf-8 0.7413ms
2025-11-01 23:10:40.793 +08:00 [INF] Sending file. Request path: '/swagger/ui/abp.swagger.js'. Physical path: 'N/A'
2025-11-01 23:10:40.793 +08:00 [INF] Sending file. Request path: '/swagger/ui/abp.js'. Physical path: 'N/A'
2025-11-01 23:10:40.793 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/ui/abp.js - 200 3122 application/javascript 4.3881ms
2025-11-01 23:10:40.793 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/ui/abp.swagger.js - 200 4527 application/javascript 2.82ms
2025-11-01 23:10:40.798 +08:00 [INF] Sending file. Request path: '/swagger-ui.css'. Physical path: 'N/A'
2025-11-01 23:10:40.798 +08:00 [INF] Sending file. Request path: '/swagger-ui-standalone-preset.js'. Physical path: 'N/A'
2025-11-01 23:10:40.801 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/swagger-ui.css - 200 144929 text/css 12.7608ms
2025-11-01 23:10:40.801 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/swagger-ui-standalone-preset.js - 200 312163 text/javascript 10.3524ms
2025-11-01 23:10:40.809 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/_vs/browserLink - null null
2025-11-01 23:10:40.810 +08:00 [INF] Sending file. Request path: '/swagger-ui-bundle.js'. Physical path: 'N/A'
2025-11-01 23:10:40.810 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/swagger-ui-bundle.js - 200 1061536 text/javascript 19.8798ms
2025-11-01 23:10:40.823 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/_vs/browserLink - 200 null text/javascript; charset=UTF-8 14.4223ms
2025-11-01 23:10:41.293 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/v1/swagger.json - null null
2025-11-01 23:10:41.338 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/favicon-32x32.png - null null
2025-11-01 23:10:41.340 +08:00 [INF] Sending file. Request path: '/favicon-32x32.png'. Physical path: 'N/A'
2025-11-01 23:10:41.340 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/favicon-32x32.png - 200 628 image/png 1.4472ms
2025-11-01 23:10:41.411 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/v1/swagger.json - 200 null application/json;charset=utf-8 118.4302ms
2025-11-01 23:10:41.425 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/api/abp/application-configuration - null null
2025-11-01 23:10:41.426 +08:00 [INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)'
2025-11-01 23:10:41.433 +08:00 [INF] Route matched with {area = "abp", action = "Get", controller = "AbpApplicationConfiguration", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto] GetAsync(Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationRequestOptions) on controller Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController (Volo.Abp.AspNetCore.Mvc).
2025-11-01 23:10:41.472 +08:00 [WRN] The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'.
2025-11-01 23:10:43.202 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto'.
2025-11-01 23:10:43.217 +08:00 [INF] Executed action Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc) in 1784.1141ms
2025-11-01 23:10:43.217 +08:00 [INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)'
2025-11-01 23:10:43.400 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/api/abp/application-configuration - 200 null application/json; charset=utf-8 1975.4364ms
2025-11-01 23:10:44.350 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/abp/Swashbuckle/SetCsrfCookie - null null
2025-11-01 23:10:44.355 +08:00 [INF] Executing endpoint 'Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle)'
2025-11-01 23:10:44.357 +08:00 [INF] Route matched with {area = "Abp", action = "SetCsrfCookie", controller = "AbpSwashbuckle", page = ""}. Executing controller action with signature Void SetCsrfCookie() on controller Volo.Abp.Swashbuckle.AbpSwashbuckleController (Volo.Abp.Swashbuckle).
2025-11-01 23:10:44.363 +08:00 [WRN] The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'.
2025-11-01 23:10:44.363 +08:00 [INF] Executed action Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle) in 5.6257ms
2025-11-01 23:10:44.363 +08:00 [INF] Executed endpoint 'Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle)'
2025-11-01 23:10:44.363 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/abp/Swashbuckle/SetCsrfCookie - 204 null null 13.5266ms
2025-11-01 23:28:55.612 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:28:57.886 +08:00 [INF] Loaded ABP modules:
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.AdminHttpApiHostModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.AdminHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.AdminApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.AdminDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Users.AbpUsersAbstractionModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Account.AbpAccountHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Caching.AbpCachingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Serialization.AbpSerializationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.HttpApi.AbpPermissionManagementHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementHttpApiModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.AdminApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.AdminDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.OpenIddict.AbpPermissionManagementDomainOpenIddictModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.Identity.AbpPermissionManagementDomainIdentityModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Emailing.AbpEmailingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TextTemplating.Scriban.AbpTextTemplatingScribanModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Admin.EntityFrameworkCore.AdminEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Identity.EntityFrameworkCore.AbpIdentityEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Users.EntityFrameworkCore.AbpUsersEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.OpenIddict.EntityFrameworkCore.AbpOpenIddictEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.PostgreSql.AbpEntityFrameworkCorePostgreSqlModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundJobs.EntityFrameworkCore.AbpBackgroundJobsEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.TenantManagement.EntityFrameworkCore.AbpTenantManagementEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Shared.Hosting.Microservices.KonSoftSharedHostingMicroservicesModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Shared.Hosting.AspNetCore.KonSoftSharedHostingAspNetCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Shared.Localization.KonSoftSharedLocalizationModule
2025-11-01 23:28:57.887 +08:00 [INF] - KonSoft.Shared.Hosting.KonSoftSharedHostingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Authentication.JwtBearer.AbpAspNetCoreAuthenticationJwtBearerModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2025-11-01 23:28:57.887 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2025-11-01 23:28:58.462 +08:00 [INF] Initialized all ABP modules.
2025-11-01 23:28:58.692 +08:00 [INF] Now listening on: https://localhost:44354
2025-11-01 23:28:58.742 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2025-11-01 23:28:58.742 +08:00 [INF] Hosting environment: Development
2025-11-01 23:28:58.742 +08:00 [INF] Content root path: C:\Users\Administrator\source\repos\KonSoft.Clean\microservices\KonSoft.Admin.HttpApi.Host
2025-11-01 23:29:02.842 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:29:04.950 +08:00 [INF] Loaded ABP modules:
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.AdminHttpApiHostModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.AdminHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.AdminApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.AdminDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Users.AbpUsersAbstractionModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Account.AbpAccountHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Caching.AbpCachingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Serialization.AbpSerializationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.HttpApi.AbpPermissionManagementHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementHttpApiModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.AdminApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.AdminDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.OpenIddict.AbpPermissionManagementDomainOpenIddictModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.Identity.AbpPermissionManagementDomainIdentityModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Emailing.AbpEmailingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TextTemplating.Scriban.AbpTextTemplatingScribanModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Admin.EntityFrameworkCore.AdminEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Identity.EntityFrameworkCore.AbpIdentityEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Users.EntityFrameworkCore.AbpUsersEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.OpenIddict.EntityFrameworkCore.AbpOpenIddictEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.PostgreSql.AbpEntityFrameworkCorePostgreSqlModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundJobs.EntityFrameworkCore.AbpBackgroundJobsEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.TenantManagement.EntityFrameworkCore.AbpTenantManagementEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Shared.Hosting.Microservices.KonSoftSharedHostingMicroservicesModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Shared.Hosting.AspNetCore.KonSoftSharedHostingAspNetCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Shared.Localization.KonSoftSharedLocalizationModule
2025-11-01 23:29:04.951 +08:00 [INF] - KonSoft.Shared.Hosting.KonSoftSharedHostingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Authentication.JwtBearer.AbpAspNetCoreAuthenticationJwtBearerModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2025-11-01 23:29:04.951 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2025-11-01 23:29:05.472 +08:00 [INF] Initialized all ABP modules.
2025-11-01 23:29:05.678 +08:00 [INF] Now listening on: http://localhost:44354
2025-11-01 23:29:05.731 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2025-11-01 23:29:05.731 +08:00 [INF] Hosting environment: Development
2025-11-01 23:29:05.731 +08:00 [INF] Content root path: C:\Users\Administrator\source\repos\KonSoft.Clean\microservices\KonSoft.Admin.HttpApi.Host
2025-11-01 23:29:32.663 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:29:34.810 +08:00 [INF] Loaded ABP modules:
2025-11-01 23:29:34.810 +08:00 [INF] - KonSoft.Admin.AdminHttpApiHostModule
2025-11-01 23:29:34.810 +08:00 [INF] - KonSoft.Admin.AdminHttpApiModule
2025-11-01 23:29:34.810 +08:00 [INF] - KonSoft.Admin.AdminApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - KonSoft.Admin.AdminDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainSharedModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Users.AbpUsersAbstractionModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Account.AbpAccountHttpApiModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityHttpApiModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
2025-11-01 23:29:34.810 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Caching.AbpCachingModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Serialization.AbpSerializationModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.PermissionManagement.HttpApi.AbpPermissionManagementHttpApiModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementHttpApiModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementHttpApiModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementHttpApiModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Admin.AdminApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Admin.AdminDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.PermissionManagement.OpenIddict.AbpPermissionManagementDomainOpenIddictModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.PermissionManagement.Identity.AbpPermissionManagementDomainIdentityModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Emailing.AbpEmailingModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TextTemplating.Scriban.AbpTextTemplatingScribanModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Admin.EntityFrameworkCore.AdminEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Identity.EntityFrameworkCore.AbpIdentityEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Users.EntityFrameworkCore.AbpUsersEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.OpenIddict.EntityFrameworkCore.AbpOpenIddictEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.PostgreSql.AbpEntityFrameworkCorePostgreSqlModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.BackgroundJobs.EntityFrameworkCore.AbpBackgroundJobsEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.TenantManagement.EntityFrameworkCore.AbpTenantManagementEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Shared.Hosting.Microservices.KonSoftSharedHostingMicroservicesModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Shared.Hosting.AspNetCore.KonSoftSharedHostingAspNetCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Shared.Localization.KonSoftSharedLocalizationModule
2025-11-01 23:29:34.811 +08:00 [INF] - KonSoft.Shared.Hosting.KonSoftSharedHostingModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Authentication.JwtBearer.AbpAspNetCoreAuthenticationJwtBearerModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2025-11-01 23:29:34.811 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2025-11-01 23:29:35.475 +08:00 [INF] Initialized all ABP modules.
2025-11-01 23:29:35.691 +08:00 [INF] Now listening on: http://localhost:44354
2025-11-01 23:29:35.759 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2025-11-01 23:29:35.759 +08:00 [INF] Hosting environment: Development
2025-11-01 23:29:35.759 +08:00 [INF] Content root path: C:\Users\Administrator\source\repos\KonSoft.Clean\microservices\KonSoft.Admin.HttpApi.Host
2025-11-01 23:29:36.783 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/index.html - null null
2025-11-01 23:29:37.656 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/index.html - 200 null text/html;charset=utf-8 872.8863ms
2025-11-01 23:29:37.677 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/_framework/aspnetcore-browser-refresh.js - null null
2025-11-01 23:29:37.678 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/_framework/aspnetcore-browser-refresh.js - 200 16537 application/javascript; charset=utf-8 1.1399ms
2025-11-01 23:29:37.681 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/_vs/browserLink - null null
2025-11-01 23:29:37.698 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/_vs/browserLink - 200 null text/javascript; charset=UTF-8 16.2384ms
2025-11-01 23:29:37.964 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/swagger/v1/swagger.json - null null
2025-11-01 23:29:38.115 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/swagger/v1/swagger.json - 200 null application/json;charset=utf-8 150.774ms
2025-11-01 23:29:38.126 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/api/abp/application-configuration - null null
2025-11-01 23:29:38.181 +08:00 [INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)'
2025-11-01 23:29:38.198 +08:00 [INF] Route matched with {area = "abp", action = "Get", controller = "AbpApplicationConfiguration", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto] GetAsync(Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationRequestOptions) on controller Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController (Volo.Abp.AspNetCore.Mvc).
2025-11-01 23:29:38.244 +08:00 [WRN] The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'.
2025-11-01 23:29:40.232 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto'.
2025-11-01 23:29:40.247 +08:00 [INF] Executed action Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc) in 2047.1243ms
2025-11-01 23:29:40.247 +08:00 [INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)'
2025-11-01 23:29:40.248 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/api/abp/application-configuration - 200 null application/json; charset=utf-8 2121.9523ms
2025-11-01 23:29:41.322 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44354/abp/Swashbuckle/SetCsrfCookie - null null
2025-11-01 23:29:41.324 +08:00 [INF] Executing endpoint 'Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle)'
2025-11-01 23:29:41.325 +08:00 [INF] Route matched with {area = "Abp", action = "SetCsrfCookie", controller = "AbpSwashbuckle", page = ""}. Executing controller action with signature Void SetCsrfCookie() on controller Volo.Abp.Swashbuckle.AbpSwashbuckleController (Volo.Abp.Swashbuckle).
2025-11-01 23:29:41.326 +08:00 [WRN] The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'.
2025-11-01 23:29:41.327 +08:00 [INF] Executed action Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle) in 1.6838ms
2025-11-01 23:29:41.327 +08:00 [INF] Executed endpoint 'Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle)'
2025-11-01 23:29:41.327 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44354/abp/Swashbuckle/SetCsrfCookie - 204 null null 4.6319ms
2025-11-01 23:32:39.143 +08:00 [INF] Starting KonSoft.Admin.HttpApi.Host.
2025-11-01 23:32:41.525 +08:00 [INF] Loaded ABP modules:
2025-11-01 23:32:41.525 +08:00 [INF] - KonSoft.Admin.AdminHttpApiHostModule
2025-11-01 23:32:41.525 +08:00 [INF] - KonSoft.Admin.AdminHttpApiModule
2025-11-01 23:32:41.525 +08:00 [INF] - KonSoft.Admin.AdminApplicationContractsModule
2025-11-01 23:32:41.525 +08:00 [INF] - KonSoft.Admin.AdminDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
2025-11-01 23:32:41.525 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainSharedModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Users.AbpUsersAbstractionModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Account.AbpAccountHttpApiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityHttpApiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Caching.AbpCachingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Serialization.AbpSerializationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.HttpApi.AbpPermissionManagementHttpApiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementHttpApiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementHttpApiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementHttpApiModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Admin.AdminApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Admin.AdminDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.OpenIddict.AbpOpenIddictDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.OpenIddict.AbpPermissionManagementDomainOpenIddictModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.Identity.AbpPermissionManagementDomainIdentityModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Emailing.AbpEmailingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TextTemplating.Scriban.AbpTextTemplatingScribanModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Admin.EntityFrameworkCore.AdminEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Identity.EntityFrameworkCore.AbpIdentityEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Users.EntityFrameworkCore.AbpUsersEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.OpenIddict.EntityFrameworkCore.AbpOpenIddictEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.PostgreSql.AbpEntityFrameworkCorePostgreSqlModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.BackgroundJobs.EntityFrameworkCore.AbpBackgroundJobsEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.TenantManagement.EntityFrameworkCore.AbpTenantManagementEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Shared.Hosting.Microservices.KonSoftSharedHostingMicroservicesModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Shared.Hosting.AspNetCore.KonSoftSharedHostingAspNetCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Shared.Localization.KonSoftSharedLocalizationModule
2025-11-01 23:32:41.526 +08:00 [INF] - KonSoft.Shared.Hosting.KonSoftSharedHostingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Authentication.JwtBearer.AbpAspNetCoreAuthenticationJwtBearerModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2025-11-01 23:32:41.526 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2025-11-01 23:32:42.262 +08:00 [INF] Initialized all ABP modules.
2025-11-01 23:32:42.480 +08:00 [INF] Now listening on: http://localhost:44354
2025-11-01 23:32:42.534 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2025-11-01 23:32:42.534 +08:00 [INF] Hosting environment: Development
2025-11-01 23:32:42.534 +08:00 [INF] Content root path: C:\Users\Administrator\source\repos\KonSoft.Clean\microservices\KonSoft.Admin.HttpApi.Host

View File

@ -13,7 +13,6 @@ try
var app = await ApplicationBuilderHelper var app = await ApplicationBuilderHelper
.BuildApplicationAsync<AdminHttpApiHostModule>(args); .BuildApplicationAsync<AdminHttpApiHostModule>(args);
await app.InitializeApplicationAsync(); await app.InitializeApplicationAsync();
app.MapGet("/heath", () => "Online");
await app.RunAsync(); await app.RunAsync();
return 0; return 0;

View File

@ -6,18 +6,7 @@
"environmentVariables": { "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
}, },
"applicationUrl": "https://localhost:44354" "applicationUrl": "http://localhost:44354"
},
"Container (Dockerfile)": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"environmentVariables": {
"ASPNETCORE_HTTPS_PORTS": "8081",
"ASPNETCORE_HTTP_PORTS": "8080"
},
"publishAllPorts": true,
"useSSL": true
} }
}, },
"$schema": "http://json.schemastore.org/launchsettings.json" "$schema": "http://json.schemastore.org/launchsettings.json"

View File

@ -6,8 +6,9 @@
"secret": "DBE31703-14F9-4B01-893D-900B8380CE04" "secret": "DBE31703-14F9-4B01-893D-900B8380CE04"
}, },
"AuthServer": { "AuthServer": {
"Authority": "https://localhost:44322", "Authority": "https://devauth.konsoft.top",
"RequireHttpsMetadata": true, "RequireHttpsMetadata": false,
"SwaggerClientId": "Admin_Swagger" "SwaggerClientId": "Dev_Admin_Swagger",
"MetadataAddress": "https://devauth.konsoft.top"
} }
} }

View File

@ -7,6 +7,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery.Dns" Version="9.5.2" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery.Yarp" Version="9.5.2" />
<PackageReference Include="Yarp.ReverseProxy" Version="2.3.0" /> <PackageReference Include="Yarp.ReverseProxy" Version="2.3.0" />
</ItemGroup> </ItemGroup>

View File

@ -1,4 +1,5 @@
using KonSoft.Shared.Hosting.AspNetCore; using KonSoft.Shared.Hosting.AspNetCore;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace KonSoft.Shared.Hosting.Gateways; namespace KonSoft.Shared.Hosting.Gateways;
@ -8,4 +9,14 @@ namespace KonSoft.Shared.Hosting.Gateways;
)] )]
public class KonSoftSharedHostingGatewaysModule : AbpModule public class KonSoftSharedHostingGatewaysModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
context.Services.AddHttpForwarderWithServiceDiscovery();
context.Services.AddReverseProxy()
.LoadFromConfig(configuration.GetSection("ReverseProxy"));
//.AddServiceDiscoveryDestinationResolver();
}
} }

View File

@ -0,0 +1,61 @@
using KonSoft.Shared.Hosting.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;
using System.Linq;
using Volo.Abp;
using Yarp.ReverseProxy.Configuration;
namespace KonSoft.Shared.Hosting.Gateways
{
public static class YarpSwaggerUIBuilderExtensions
{
public static IApplicationBuilder UseSwaggerUIWithYarp(this IApplicationBuilder app,
ApplicationInitializationContext context)
{
app.UseSwagger();
app.UseAbpSwaggerWithCustomScriptUI(options =>
{
var configuration = context.ServiceProvider.GetRequiredService<IConfiguration>();
var logger = context.ServiceProvider.GetRequiredService<ILogger<ApplicationInitializationContext>>();
var proxyConfigProvider = context.ServiceProvider.GetRequiredService<IProxyConfigProvider>();
var yarpConfig = proxyConfigProvider.GetConfig();
var routedClusters = yarpConfig.Clusters
.SelectMany(t => t.Destinations,
(clusterId, destination) => new { clusterId.ClusterId, destination.Value });
var groupedClusters = routedClusters
.GroupBy(q => q.Value.Address)
.Select(t => t.First())
.Distinct()
.ToList();
foreach (var clusterGroup in groupedClusters)
{
var routeConfig = yarpConfig.Routes.FirstOrDefault(q =>
q.ClusterId == clusterGroup.ClusterId);
if (routeConfig == null)
{
logger.LogWarning($"Swagger UI: Couldn't find route configuration for {clusterGroup.ClusterId}...");
continue;
}
var baseUrl = clusterGroup.Value.Address;
if (Convert.ToBoolean(configuration["App:IsOnK8s"])) // If the application is running on K8s, the swagger.json should be reached from public dns.
{
baseUrl = clusterGroup.Value.Metadata?["PublicAddress"];
}
options.SwaggerEndpoint($"{baseUrl}/swagger/v1/swagger.json", $"{routeConfig.RouteId} API");
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
}
});
return app;
}
}
}