2 changed files with 190 additions and 0 deletions
@ -0,0 +1,95 @@ |
|||
# LINGYUN.Abp.RealTime |
|||
|
|||
## Introduction |
|||
|
|||
`LINGYUN.Abp.RealTime` is a real-time communication foundation module that provides infrastructure for real-time message delivery. This module is mainly used for handling real-time notifications, messages, and event delivery. |
|||
|
|||
## Features |
|||
|
|||
* Real-time event delivery infrastructure |
|||
* Support for localized string handling |
|||
* Distributed event integration |
|||
* Extensible event handling mechanism |
|||
|
|||
## Installation |
|||
|
|||
```bash |
|||
dotnet add package LINGYUN.Abp.RealTime |
|||
``` |
|||
|
|||
## Usage |
|||
|
|||
1. Add `[DependsOn(typeof(AbpRealTimeModule))]` to your module class. |
|||
|
|||
```csharp |
|||
[DependsOn(typeof(AbpRealTimeModule))] |
|||
public class YourModule : AbpModule |
|||
{ |
|||
// ... |
|||
} |
|||
``` |
|||
|
|||
2. Create real-time event data transfer object: |
|||
|
|||
```csharp |
|||
public class YourRealTimeEto : RealTimeEto<YourData> |
|||
{ |
|||
public YourRealTimeEto(YourData data) |
|||
: base(data) |
|||
{ |
|||
} |
|||
} |
|||
``` |
|||
|
|||
3. Use localized strings: |
|||
|
|||
```csharp |
|||
public class LocalizedMessage |
|||
{ |
|||
private readonly LocalizableStringInfo _localizableString; |
|||
|
|||
public LocalizedMessage() |
|||
{ |
|||
_localizableString = new LocalizableStringInfo( |
|||
"YourResource", |
|||
"MessageKey", |
|||
new Dictionary<object, object> |
|||
{ |
|||
{ "param1", "value1" } |
|||
}); |
|||
} |
|||
} |
|||
``` |
|||
|
|||
## Advanced Usage |
|||
|
|||
### 1. Custom Real-Time Events |
|||
|
|||
```csharp |
|||
[EventName("your-custom-event")] |
|||
public class CustomRealTimeEto : RealTimeEto<CustomData> |
|||
{ |
|||
public CustomRealTimeEto(CustomData data) |
|||
: base(data) |
|||
{ |
|||
} |
|||
} |
|||
``` |
|||
|
|||
### 2. Real-Time Event Handling |
|||
|
|||
```csharp |
|||
public class YourRealTimeEventHandler : |
|||
IDistributedEventHandler<YourRealTimeEto>, |
|||
ITransientDependency |
|||
{ |
|||
public async Task HandleEventAsync(YourRealTimeEto eventData) |
|||
{ |
|||
// Handle real-time event |
|||
} |
|||
} |
|||
``` |
|||
|
|||
## Links |
|||
|
|||
* [中文文档](./README.md) |
|||
@ -0,0 +1,95 @@ |
|||
# LINGYUN.Abp.RealTime |
|||
|
|||
## 介绍 |
|||
|
|||
`LINGYUN.Abp.RealTime` 是一个实时通信基础模块,提供了实时消息传递的基础设施。该模块主要用于处理实时通知、消息和事件的传递。 |
|||
|
|||
## 功能 |
|||
|
|||
* 实时事件传递基础设施 |
|||
* 支持本地化字符串处理 |
|||
* 分布式事件集成 |
|||
* 可扩展的事件处理机制 |
|||
|
|||
## 安装 |
|||
|
|||
```bash |
|||
dotnet add package LINGYUN.Abp.RealTime |
|||
``` |
|||
|
|||
## 使用 |
|||
|
|||
1. 添加 `[DependsOn(typeof(AbpRealTimeModule))]` 到你的模块类上。 |
|||
|
|||
```csharp |
|||
[DependsOn(typeof(AbpRealTimeModule))] |
|||
public class YourModule : AbpModule |
|||
{ |
|||
// ... |
|||
} |
|||
``` |
|||
|
|||
2. 创建实时事件数据传输对象: |
|||
|
|||
```csharp |
|||
public class YourRealTimeEto : RealTimeEto<YourData> |
|||
{ |
|||
public YourRealTimeEto(YourData data) |
|||
: base(data) |
|||
{ |
|||
} |
|||
} |
|||
``` |
|||
|
|||
3. 使用本地化字符串: |
|||
|
|||
```csharp |
|||
public class LocalizedMessage |
|||
{ |
|||
private readonly LocalizableStringInfo _localizableString; |
|||
|
|||
public LocalizedMessage() |
|||
{ |
|||
_localizableString = new LocalizableStringInfo( |
|||
"YourResource", |
|||
"MessageKey", |
|||
new Dictionary<object, object> |
|||
{ |
|||
{ "param1", "value1" } |
|||
}); |
|||
} |
|||
} |
|||
``` |
|||
|
|||
## 高级用法 |
|||
|
|||
### 1. 自定义实时事件 |
|||
|
|||
```csharp |
|||
[EventName("your-custom-event")] |
|||
public class CustomRealTimeEto : RealTimeEto<CustomData> |
|||
{ |
|||
public CustomRealTimeEto(CustomData data) |
|||
: base(data) |
|||
{ |
|||
} |
|||
} |
|||
``` |
|||
|
|||
### 2. 实时事件处理 |
|||
|
|||
```csharp |
|||
public class YourRealTimeEventHandler : |
|||
IDistributedEventHandler<YourRealTimeEto>, |
|||
ITransientDependency |
|||
{ |
|||
public async Task HandleEventAsync(YourRealTimeEto eventData) |
|||
{ |
|||
// 处理实时事件 |
|||
} |
|||
} |
|||
``` |
|||
|
|||
## 链接 |
|||
|
|||
* [English document](./README.EN.md) |
|||
Loading…
Reference in new issue