# dotnet_eventbus **Repository Path**: dotnetydd_com/dotnet_eventbus ## Basic Information - **Project Name**: dotnet_eventbus - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-18 - **Last Updated**: 2024-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dncy_eventbus ### 使用方式 参见示例代码 ## 事件处理程序示例 1. 约定模式 ``` public class DemoHandler : IIntegrationEventHandler { private readonly ILogger _logger; public DemoHandler(ILogger logger) { _logger = logger; } /// public async Task Handle(DemoEvent @event) { if (@event == null) { _logger.LogWarning("【DemoHandler】接收到 DemoEvent。 数据为空"); } _logger.LogInformation("【DemoHandler】接收到 DemoEvent 。 数据:{@event}",JsonSerializer.Serialize(@event)); await Task.Delay(2000); } } ``` 2. 激活器模式 ```csharp public class DemoConsumer : IntegrationEventHandler { private readonly ILogger _logger; private static readonly Random Random = new Random(); public DemoConsumer(ILogger logger = null) { _logger = logger ?? NullLogger.Instance; } [Subscribe("UserRegisterEvent")] public async Task PostMessageHandler(UserRegisterEvent customMessage) { Console.WriteLine("UserRegisterEvent"); await Task.Delay(Random.Next(10, 500)); } [Subscribe("UserDisabledEvent")] public async Task UserDisabledEventHandler(UserRegisterEvent customMessage) { Console.WriteLine("UserDisabledEvent"); await Task.Delay(Random.Next(15, 560)); } } ```