优化channel的namespace
优化rabbit的发布者的构造函数,基于配置模式启动
example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
diff --git a/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs b/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
index beeecce..5cfd175 100644
--- a/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
+++ b/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
@@ -65,6 +65,12 @@ namespace ExampleApeart.usermodels
/// </summary>
public EnumRoleType roletype { get; set; } = EnumRoleType.Menu;
+ /// <summary>
+ /// DataList
+ /// </summary>
+ [PasteDatalist("","0")]
+ public EnumRoleType datalist { get; set; }
+
}
///<summary>
example/ExampleApeart.Application/ExampleApeartDefaultService.cs
diff --git a/example/ExampleApeart.Application/ExampleApeartDefaultService.cs b/example/ExampleApeart.Application/ExampleApeartDefaultService.cs
index 1afdbb9..a0ea24c 100644
--- a/example/ExampleApeart.Application/ExampleApeartDefaultService.cs
+++ b/example/ExampleApeart.Application/ExampleApeartDefaultService.cs
@@ -5,6 +5,7 @@ using Microsoft.EntityFrameworkCore;
using PasteApeart;
using PasteApeart.Application;
using PasteApeart.Application.Contracts;
+using PasteApeart.Handler;
namespace ExampleApeart.Application
{
example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
diff --git a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
index 86c0aa1..f61cea0 100644
--- a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
+++ b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
@@ -119,6 +119,11 @@
测试 测试全部/无的枚举功能
</summary>
</member>
+ <member name="P:ExampleApeart.usermodels.GradeInfoAddDto.datalist">
+ <summary>
+ DataList
+ </summary>
+ </member>
<member name="T:ExampleApeart.usermodels.GradeInfoUpdateDto">
<summary>
角色信息 一个账号可以绑定多个角色,角色绑定权限
framework/Directory.Build.props
diff --git a/framework/Directory.Build.props b/framework/Directory.Build.props
index 882c51c..a19d739 100644
--- a/framework/Directory.Build.props
+++ b/framework/Directory.Build.props
@@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
- <Version>26.9.22</Version>
- <FileVersion>26.9.22</FileVersion>
- <AssemblyVersion>26.9.22</AssemblyVersion>
+ <Version>26.9.23</Version>
+ <FileVersion>26.9.23</FileVersion>
+ <AssemblyVersion>26.9.23</AssemblyVersion>
</PropertyGroup>
</Project>
\ No newline at end of file
framework/PasteApeart.Application/PasteDefaultAppService.cs
diff --git a/framework/PasteApeart.Application/PasteDefaultAppService.cs b/framework/PasteApeart.Application/PasteDefaultAppService.cs
index aefe0f7..7e8a03e 100644
--- a/framework/PasteApeart.Application/PasteDefaultAppService.cs
+++ b/framework/PasteApeart.Application/PasteDefaultAppService.cs
@@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore;
using PasteApeart.Application.Contracts;
using PasteApeart.Handler;
+using PasteApeart.Handler.Extend;
using PasteApeart.Helper;
using System.Dynamic;
using System.Linq.Dynamic.Core;
framework/PasteApeart.Handler/common/ChannelHelper.cs
diff --git a/framework/PasteApeart.Handler/common/ChannelHelper.cs b/framework/PasteApeart.Handler/common/ChannelHelper.cs
index 480d53e..608be0f 100644
--- a/framework/PasteApeart.Handler/common/ChannelHelper.cs
+++ b/framework/PasteApeart.Handler/common/ChannelHelper.cs
@@ -1,6 +1,7 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using PasteApeart.Application.Contracts;
+using PasteApeart.Handler.Extend;
using PasteApeart.Handler.Extensions;
using PasteApeart.Handler.rabbit;
using PasteApeart.Handler.redis;
framework/PasteApeart.Handler/common/IChannelHelper.cs
diff --git a/framework/PasteApeart.Handler/common/IChannelHelper.cs b/framework/PasteApeart.Handler/common/IChannelHelper.cs
index dff3590..edcd0c6 100644
--- a/framework/PasteApeart.Handler/common/IChannelHelper.cs
+++ b/framework/PasteApeart.Handler/common/IChannelHelper.cs
@@ -1,7 +1,7 @@
using PasteApeart.Application.Contracts;
using System.Threading.Channels;
-namespace PasteApeart
+namespace PasteApeart.Handler
{
public interface IChannelHelper
{
framework/PasteApeart.Handler/common/ILevelHandler.cs
diff --git a/framework/PasteApeart.Handler/common/ILevelHandler.cs b/framework/PasteApeart.Handler/common/ILevelHandler.cs
index 9375dd5..07394d1 100644
--- a/framework/PasteApeart.Handler/common/ILevelHandler.cs
+++ b/framework/PasteApeart.Handler/common/ILevelHandler.cs
@@ -1,7 +1,6 @@
-using PasteApeart.Domain;
using PasteApeart.Domain.Entity;
-namespace PasteApeart.Handler
+namespace PasteApeart.Handler.Level
{
public interface ILevelHandler
{
framework/PasteApeart.Handler/common/LevelHandler.cs
diff --git a/framework/PasteApeart.Handler/common/LevelHandler.cs b/framework/PasteApeart.Handler/common/LevelHandler.cs
index 4d132da..84c1d90 100644
--- a/framework/PasteApeart.Handler/common/LevelHandler.cs
+++ b/framework/PasteApeart.Handler/common/LevelHandler.cs
@@ -2,7 +2,7 @@ using Microsoft.EntityFrameworkCore;
using PasteApeart.Domain;
using PasteApeart.Domain.Entity;
-namespace PasteApeart.Handler
+namespace PasteApeart.Handler.Level
{
/// <summary>
/// 多层级 非递归多层级新增和更新
framework/PasteApeart.Handler/common/ObjectExtend.cs
diff --git a/framework/PasteApeart.Handler/common/ObjectExtend.cs b/framework/PasteApeart.Handler/common/ObjectExtend.cs
index 8297136..fe5e829 100644
--- a/framework/PasteApeart.Handler/common/ObjectExtend.cs
+++ b/framework/PasteApeart.Handler/common/ObjectExtend.cs
@@ -1,6 +1,6 @@
using System.Text;
-namespace PasteApeart
+namespace PasteApeart.Handler.Extend
{
/// <summary>
///
framework/PasteApeart.Handler/rabbit/RabbitMQProducer.cs
diff --git a/framework/PasteApeart.Handler/rabbit/RabbitMQProducer.cs b/framework/PasteApeart.Handler/rabbit/RabbitMQProducer.cs
index a1cbfac..486d656 100644
--- a/framework/PasteApeart.Handler/rabbit/RabbitMQProducer.cs
+++ b/framework/PasteApeart.Handler/rabbit/RabbitMQProducer.cs
@@ -46,27 +46,31 @@ namespace PasteApeart.Handler.rabbit
_config = config.Value;
_closeToken = _closeTokenSource.Token;
- MaxChannelCount = _config.MaxChannelCount;
- _modelLocks = new SemaphoreSlim[MaxChannelCount];
- _models = new IChannel[MaxChannelCount];
- //_channels = new IChannel[MaxChannelCount];
- _properties = new BasicProperties[MaxChannelCount];
- // RabbitMQ channels are not thread-safe.
- // https://www.rabbitmq.com/dotnet-api-guide.html#model-sharing
- // Create a pool of channels and give each call to Publish one channel.
- for (var i = 0; i < MaxChannelCount; i++)
+ if (_config.RabbitQueue)
{
- _modelLocks[i] = new SemaphoreSlim(1);
- }
- // load configuration
+ MaxChannelCount = _config.MaxChannelCount;
+ _modelLocks = new SemaphoreSlim[MaxChannelCount];
+ _models = new IChannel[MaxChannelCount];
+ //_channels = new IChannel[MaxChannelCount];
+ _properties = new BasicProperties[MaxChannelCount];
+ // RabbitMQ channels are not thread-safe.
+ // https://www.rabbitmq.com/dotnet-api-guide.html#model-sharing
+ // Create a pool of channels and give each call to Publish one channel.
+ for (var i = 0; i < MaxChannelCount; i++)
+ {
+ _modelLocks[i] = new SemaphoreSlim(1);
+ }
- //_publicationAddress = new PublicationAddress(_config.ExpireExchangeType, _config.ExpiredExchange, _config.ExpireRouteKey);
+ // load configuration
- // initialize
- _connectionFactory = GetConnectionFactory();
+ //_publicationAddress = new PublicationAddress(_config.ExpireExchangeType, _config.ExpiredExchange, _config.ExpireRouteKey);
- //_random = new Random();
+ // initialize
+ _connectionFactory = GetConnectionFactory();
+
+ //_random = new Random();
+ }
}
/// <summary>
framework/PasteApeart.Handler/rabbit/RabbitMultiConsumerHandler.cs
diff --git a/framework/PasteApeart.Handler/rabbit/RabbitMultiConsumerHandler.cs b/framework/PasteApeart.Handler/rabbit/RabbitMultiConsumerHandler.cs
index 5c43014..3c4b626 100644
--- a/framework/PasteApeart.Handler/rabbit/RabbitMultiConsumerHandler.cs
+++ b/framework/PasteApeart.Handler/rabbit/RabbitMultiConsumerHandler.cs
@@ -21,32 +21,29 @@ namespace PasteApeart.Handler.rabbit
private readonly int _channelCount = 2; // 根据CPU核心数调整
//private readonly SemaphoreSlim _channelSemaphore;
private IChannel _defaultChannel; // 用于声明的默认channel
- private readonly IServiceProvider _serviceProvider;
- private readonly IChannelHelper _channelHelper;
-
+ //private readonly IServiceProvider _serviceProvider;
+ //private readonly IChannelHelper _channelHelper;
private readonly IEventActionHandler _eventActionHandler;
/// <summary>
///
/// </summary>
- /// <param name="serviceProvider"></param>
/// <param name="logger"></param>
+ /// <param name="eventActionHandler"></param>
/// <param name="rabbitConfig"></param>
public RabbitMultiConsumerHandler(
- IServiceProvider serviceProvider,
+ //IServiceProvider serviceProvider,
ILogger<RabbitMultiConsumerHandler> logger,
- IChannelHelper channelHelper,
+ //IChannelHelper channelHelper,
IEventActionHandler eventActionHandler,
IOptions<RabbitConfig> rabbitConfig)
{
- _serviceProvider = serviceProvider;
+ //_serviceProvider = serviceProvider;
_logger = logger;
_eventActionHandler = eventActionHandler;
- _channelHelper = channelHelper;
+ //_channelHelper = channelHelper;
_rabbitConfig = rabbitConfig.Value;
_channelCount = _rabbitConfig.ReadChannelCount;
- //_channelSemaphore = new SemaphoreSlim(_channelCount, _channelCount);
-
_channelCompletionSources = new List<TaskCompletionSource<bool>>();
}