Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.9.2.5 #49

Merged
merged 36 commits into from
Jun 29, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3cf2cc4
[feat]拆分AbstractWebApiDependencyRegistrar.cs的代码到多个文件。
AlphaYu Jun 23, 2022
39d4180
[feat]ThreadPoolSettings增加Name属性
AlphaYu Jun 24, 2022
dd43905
[feat]AbstractWebApiDependencyRegistrar.cs注册文件优化。
AlphaYu Jun 24, 2022
d6089e2
[feat]sAbstractApplicationDependencyRegistrar.cs拆分到多个分布类
AlphaYu Jun 24, 2022
02f3d8d
[feat]Adnc.Infra.Caching.csproj代码优化。
AlphaYu Jun 24, 2022
0ba0414
[fix]调整涉及adnc.infra.Caching相关代码。
AlphaYu Jun 24, 2022
620cc4b
[fix]调整涉及adnc.infra.Caching相关代码。
AlphaYu Jun 24, 2022
8aaacac
[fix]调整涉及adnc.infra.Caching相关代码。
AlphaYu Jun 24, 2022
26f32b0
[feat]AddHealthChecks调整
AlphaYu Jun 24, 2022
332729b
[feat]代码优化调整
AlphaYu Jun 25, 2022
51004a3
[feat]代码优化调整
AlphaYu Jun 25, 2022
2eaac10
[feat]代码优化调整
AlphaYu Jun 25, 2022
2d84497
[feat]变量名称调整。
AlphaYu Jun 25, 2022
d879a83
[feat]字典,配置代码调整。
AlphaYu Jun 25, 2022
777252a
[feat]完善字典,配置缓存预热相关代码。
AlphaYu Jun 26, 2022
3147048
[feat]代码优化
AlphaYu Jun 26, 2022
24d456a
[feat]代码优化调整
AlphaYu Jun 26, 2022
c0ef9b7
[feat]完善AbstractWebApiDependencyRegistrar.HealthChecks.cs
AlphaYu Jun 26, 2022
e107fb9
[feat]Adnc.Infra.EventBus注册代码优化
AlphaYu Jun 27, 2022
05bd439
[feat]adnc.infra.eventbus注册代码优化
AlphaYu Jun 27, 2022
8b5f5f6
[fix]删除无效代码
AlphaYu Jun 27, 2022
42c2d4e
[feat]PermissionAttribute => AdncAuthorizeAttribute
AlphaYu Jun 27, 2022
dfe678f
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
c13f50a
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
dff4117
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
9acde45
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
d70c8b4
[feat]程序启动,consul注册逻辑完善
AlphaYu Jun 28, 2022
e8fd85e
[fix]增加capdashbord路由配置
AlphaYu Jun 28, 2022
1d823a6
[fix] 添加Obsolete特性,标注已经过期。
AlphaYu Jun 28, 2022
067eb36
[fix]替换fluentvalidation过期方法
AlphaYu Jun 28, 2022
6e23f2a
[fix]消除null警告
AlphaYu Jun 28, 2022
0d16609
[fix]隐藏0436警告
AlphaYu Jun 28, 2022
a6eb80c
[fix]不导入多余的wrappers.proto
AlphaYu Jun 28, 2022
eae71de
[fix]消除参数警告
AlphaYu Jun 28, 2022
160ae95
[fix]调整logger.error参数顺序
AlphaYu Jun 29, 2022
685af79
[feat]nlog配置文件调整
AlphaYu Jun 29, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[feat]代码优化调整
  • Loading branch information
AlphaYu committed Jun 25, 2022
commit 51004a35e8a99fa497f18d6e11514428b8beb35a
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<ItemGroup>
<PackageReference Include="Castle.Core.AsyncInterceptor" Version="2.1.0" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
<PackageReference Include="Polly" Version="7.2.3" />
<PackageReference Include="StackExchange.Redis" Version="2.5.43" />
<PackageReference Include="protobuf-net" Version="3.0.101" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
using Adnc.Infra.Caching.Core.Serialization;
using Adnc.Infra.Caching.Interceptor.Castle;
using Adnc.Infra.Caching.StackExchange;
using Adnc.Infra.Core.Interceptor;

namespace Microsoft.Extensions.DependencyInjection;

Expand All @@ -16,6 +15,7 @@ public static IServiceCollection AddAdncInfraCaching(this IServiceCollection ser

services
.Configure<CacheOptions>(redisSection)
.Configure<RedisConfig>(redisSection)
.AddSingleton<IRedisDatabaseProvider, DefaultDatabaseProvider>()
.AddSingleton<ICachingKeyGenerator, DefaultCachingKeyGenerator>()
.AddSingleton<DefaultRedisProvider>()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
global using Microsoft.Extensions.Configuration;
global using Adnc.Infra.Core.Configuration;
global using Adnc.Infra.Core.Interceptor;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.Logging;
global using Microsoft.Extensions.Options;
global using Polly;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,23 @@ namespace Microsoft.Extensions.DependencyInjection;
public static class ServiceCollectionExtension
{
public static IServiceCollection AddAdncInfraConsul(this IServiceCollection services, IConfigurationSection consulSection)
=> AddAdncInfraConsul(services, consulSection.Get<ConsulConfig>());

public static IServiceCollection AddAdncInfraConsul(this IServiceCollection services, ConsulConfig consulConfig)
{
if (services.HasRegistered(nameof(AddAdncInfraConsul)))
return services;

services.AddScoped<ConsulDiscoverDelegatingHandler>();
services.AddSingleton(x => new ConsulClient(x => x.Address = new Uri(consulConfig.ConsulUrl)));
services.AddSingleton<ConsulRegistration>();
services.AddSingleton<IConsulServiceProvider, ConsulServiceProvider>();
services.AddSingleton<IServiceBuilder, ServiceBuilder>();
return services;
return services
.Configure<ConsulConfig>(consulSection)
.AddSingleton(provider =>
{
var configOptions = provider.GetService<IOptions<ConsulConfig>>();
if (configOptions is null)
throw new NullReferenceException(nameof(configOptions));
return new ConsulClient(x => x.Address = new Uri(configOptions.Value.ConsulUrl));
})
.AddSingleton<ConsulRegistration>()
.AddSingleton<IConsulServiceProvider, ConsulServiceProvider>()
.AddSingleton<IServiceBuilder, ServiceBuilder>()
.AddScoped<ConsulDiscoverDelegatingHandler>()
;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

public sealed class ConsulRegistration
{
private readonly ConsulConfig _consulConfig;
private readonly IOptions<ConsulConfig> _consulConfig;
private readonly IHostApplicationLifetime _hostApplicationLifetime;
private readonly ILogger<ConsulRegistration> _logger;
private readonly ConsulClient _consulClient;
Expand All @@ -14,7 +14,7 @@ IOptions<ConsulConfig> consulOption
, IHostApplicationLifetime hostApplicationLifetime
, ILogger<ConsulRegistration> logger)
{
_consulConfig = consulOption.Value;
_consulConfig = consulOption;
_consulClient = consulClient;
_hostApplicationLifetime = hostApplicationLifetime;
//_serverAddressesFeature = serviceProvider.GetRequiredService<IServer>().Features.Get<IServerAddressesFeature>();
Expand Down Expand Up @@ -94,22 +94,22 @@ private AgentServiceRegistration GetAgentServiceRegistration(Uri serviceAddress,
var port = serviceAddress.Port;
var registrationInstance = new AgentServiceRegistration()
{
ID = serviceId ?? $"{_consulConfig.ServiceName}-{DateTime.Now.GetTotalMilliseconds()}",
Name = _consulConfig.ServiceName,
ID = serviceId ?? $"{_consulConfig.Value.ServiceName}-{DateTime.Now.GetTotalMilliseconds()}",
Name = _consulConfig.Value.ServiceName,
Address = host,
Port = port,
Meta = new Dictionary<string, string>() { ["Protocol"] = protocol },
Tags = _consulConfig.ServerTags,
Tags = _consulConfig.Value.ServerTags,
Check = new AgentServiceCheck
{
//服务停止多久后进行注销
DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(_consulConfig.DeregisterCriticalServiceAfter),
DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(_consulConfig.Value.DeregisterCriticalServiceAfter),
//健康检查间隔,心跳间隔
Interval = TimeSpan.FromSeconds(_consulConfig.HealthCheckIntervalInSecond),
Interval = TimeSpan.FromSeconds(_consulConfig.Value.HealthCheckIntervalInSecond),
//健康检查地址
HTTP = $"{protocol}://{host}:{port}/{_consulConfig.HealthCheckUrl}",
HTTP = $"{protocol}://{host}:{port}/{_consulConfig.Value.HealthCheckUrl}",
//超时时间
Timeout = TimeSpan.FromSeconds(_consulConfig.Timeout),
Timeout = TimeSpan.FromSeconds(_consulConfig.Value.Timeout),
}
};
return registrationInstance;
Expand All @@ -119,17 +119,17 @@ private void CheckConfig()
{
if (_consulConfig == null)
throw new ArgumentException(nameof(_consulConfig));
if (string.IsNullOrEmpty(_consulConfig.ConsulUrl))
throw new ArgumentException(nameof(_consulConfig.ConsulUrl));
if (string.IsNullOrEmpty(_consulConfig.ServiceName))
throw new ArgumentException(nameof(_consulConfig.ServiceName));
if (string.IsNullOrEmpty(_consulConfig.HealthCheckUrl))
throw new ArgumentException(nameof(_consulConfig.HealthCheckUrl));
if (_consulConfig.HealthCheckIntervalInSecond <= 0)
throw new ArgumentException(nameof(_consulConfig.HealthCheckIntervalInSecond));
if (_consulConfig.DeregisterCriticalServiceAfter <= 0)
throw new ArgumentException(nameof(_consulConfig.DeregisterCriticalServiceAfter));
if (_consulConfig.Timeout <= 0)
throw new ArgumentException(nameof(_consulConfig.Timeout));
if (string.IsNullOrEmpty(_consulConfig.Value.ConsulUrl))
throw new ArgumentException(nameof(_consulConfig.Value.ConsulUrl));
if (string.IsNullOrEmpty(_consulConfig.Value.ServiceName))
throw new ArgumentException(nameof(_consulConfig.Value.ServiceName));
if (string.IsNullOrEmpty(_consulConfig.Value.HealthCheckUrl))
throw new ArgumentException(nameof(_consulConfig.Value.HealthCheckUrl));
if (_consulConfig.Value.HealthCheckIntervalInSecond <= 0)
throw new ArgumentException(nameof(_consulConfig.Value.HealthCheckIntervalInSecond));
if (_consulConfig.Value.DeregisterCriticalServiceAfter <= 0)
throw new ArgumentException(nameof(_consulConfig.Value.DeregisterCriticalServiceAfter));
if (_consulConfig.Value.Timeout <= 0)
throw new ArgumentException(nameof(_consulConfig.Value.Timeout));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="System\Extensions\Char\" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class RedisConfig
public bool EnableBloomFilter { get; set; }
public int LockMs { get; set; }
public int SleepMs { get; set; }
public Dbconfig dbconfig { get; set; } = default!;
public Dbconfig Dbconfig { get; set; } = default!;
}

public class Dbconfig
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
global using Adnc.Infra.Core.Interfaces;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using Microsoft.Extensions.Options;

global using System.Collections;
global using System.Collections.Concurrent;

global using System.Diagnostics.CodeAnalysis;
global using System.IO;

global using System.Net;
global using System.Reflection;
global using System.Text;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,99 +1,12 @@
using Adnc.Infra.Core.Configuration;

namespace Microsoft.Extensions.Configuration;
namespace Microsoft.Extensions.Configuration;

public static partial class ConfigurationExtensions
{
/// <summary>
/// 服务注册类型
/// 获取服务注册类型
/// </summary>
/// <param name="serviceInfo"></param>
/// <param name="configuration"></param>
/// <returns></returns>
public static string GetRegisteredType(this IConfiguration configuration) => configuration.GetValue("RegisteredType", "direct");

/// <summary>
/// 获取SSOAuthentication是否开启
/// </summary>
/// <param name="serviceInfo"></param>
/// <param name="configuration"></param>
/// <returns></returns>
public static bool IsSSOAuthentication(this IConfiguration configuration) => configuration.GetValue("SSOAuthentication", false);

/// <summary>
/// 获取跨域配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static string GetAllowCorsHosts(this IConfiguration configuration) => configuration.GetValue("CorsHosts", string.Empty);

/// <summary>
/// 获取Consul配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetConsulSection(this IConfiguration configuration) => configuration.GetSection(ConsulConfig.Name);

/// <summary>
/// 获取Rabitmq配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetRabbitMqSection(this IConfiguration configuration) => configuration.GetSection(RabbitMqConfig.Name);

/// <summary>
/// 获取Redis配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetRedisSection(this IConfiguration configuration) => configuration.GetSection(RedisConfig.Name);

/// <summary>
/// 获取Mysql配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetMysqlSection(this IConfiguration configuration) => configuration.GetSection(MysqlConfig.Name);

/// <summary>
/// 获取Monogo配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetMongoDbSection(this IConfiguration configuration) => configuration.GetSection(MongoConfig.Name);

/// <summary>
/// 获取JWT配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetJWTSection(this IConfiguration configuration) => configuration.GetSection(JwtConfig.Name);

/// <summary>
/// 获取线程池配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetThreadPoolSettingsSection(this IConfiguration configuration) => configuration.GetSection("ThreadPoolSettings");

/// <summary>
/// 获取Kestrel配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetKestrelSection(this IConfiguration configuration) => configuration.GetSection(KestrelConfig.Name);

/// <summary>
/// 获取RpcAddressInfo配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetRpcAddressInfoSection(this IConfiguration configuration) => configuration.GetSection("RpcAddressInfo");

/// <summary>
/// 获取RpcPartners配置
/// </summary>
/// <param name="configuration"></param>
/// <returns></returns>
public static IConfigurationSection GetRpcPartnersSection(this IConfiguration configuration) => configuration.GetSection("RpcPartners");
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace Microsoft.Extensions.DependencyInjection
using Adnc.Infra.Core.Interfaces;

namespace Microsoft.Extensions.DependencyInjection
{
public static partial class ServiceCollectionExtensions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace Microsoft.Extensions.DependencyInjection
using Adnc.Infra.Core.Interfaces;

namespace Microsoft.Extensions.DependencyInjection
{
public static partial class ServiceCollectionExtensions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using DotNetCore.CAP;
using System.Linq.Expressions;

namespace Adnc.Infra.EventBus.Cap
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
using Adnc.Infra.EventBus;
using Adnc.Infra.EventBus.Cap;
using Adnc.Infra.EventBus.RabbitMq;
using Microsoft.Extensions.Configuration;

namespace Microsoft.Extensions.DependencyInjection;

public static class ServiceCollectionExtension
{
public static IServiceCollection AddAdncInfraEventBus(this IServiceCollection services)
public static IServiceCollection AddAdncInfraEventBus(this IServiceCollection services, IConfigurationSection consulSection)
{
if (services.HasRegistered(nameof(AddAdncInfraEventBus)))
return services;

services.AddSingleton<RabbitMqProducer>();
services.AddSingleton<IEventPublisher, CapPublisher>();
return services;
return services
.Configure<RabbitMqConfig>(consulSection)
.AddSingleton<IRabbitMqConnection>(provider =>
{
var options = provider.GetRequiredService<IOptions<RabbitMqConfig>>();
var logger = provider.GetRequiredService<ILogger<RabbitMqConnection>>();
return RabbitMqConnection.GetInstance(options, logger);
})
.AddSingleton<RabbitMqProducer>()
.AddSingleton<IEventPublisher, CapPublisher>()
;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
global using Adnc.Infra.Core.Configuration;
global using Microsoft.Extensions.Hosting;
global using Microsoft.Extensions.Logging;
global using Microsoft.Extensions.Options;
global using Polly;
global using System.Linq.Expressions;
global using System.Net.Sockets;
global using System.Text;
global using System.Text.Json;
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
using Adnc.Infra.Core.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using RabbitMQ.Client;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System.Text;

namespace Adnc.Infra.EventBus.RabbitMq
{
Expand All @@ -14,9 +9,9 @@ public abstract class BaseRabbitMqConsumer : IHostedService
private readonly IModel _channel;
private readonly ILogger<dynamic> _logger;

protected BaseRabbitMqConsumer(IOptionsMonitor<RabbitMqConfig> options, ILogger<dynamic> logger)
protected BaseRabbitMqConsumer(IRabbitMqConnection RabbitMqConnection, ILogger<dynamic> logger)
{
_connection = RabbitMqConnection.GetInstance(options, logger).Connection;
_connection = RabbitMqConnection.Connection;
_channel = _connection.CreateModel();
_logger = logger;
}
Expand Down
Loading