rabbitmq-sdk
所属分类:中间件编程
开发工具:C#
文件大小:0KB
下载次数:0
上传日期:2020-09-21 12:40:23
上 传 者:
sh-1993
说明: 支持将RabbitMQ用作.Net Core的发布服务器订阅服务器的库
(Support libraries for using RabbitMQ as Publisher Subscriber for .Net Core)
文件列表:
LICENSE (35149, 2020-09-21)
src/ (0, 2020-09-21)
src/RabbitMQ.sln (1105, 2020-09-21)
src/RabbitMQ/ (0, 2020-09-21)
src/RabbitMQ/Configuration/ (0, 2020-09-21)
src/RabbitMQ/Configuration/RabbitMqConfiguration.cs (18346, 2020-09-21)
src/RabbitMQ/Configuration/RabbitMqExtensions.cs (471, 2020-09-21)
src/RabbitMQ/Entities/ (0, 2020-09-21)
src/RabbitMQ/Entities/Channel.Request.Response.cs (2512, 2020-09-21)
src/RabbitMQ/Entities/Channel.Request.cs (1988, 2020-09-21)
src/RabbitMQ/Entities/Channel.cs (15271, 2020-09-21)
src/RabbitMQ/Entities/Connection.cs (6389, 2020-09-21)
src/RabbitMQ/Handlers/ (0, 2020-09-21)
src/RabbitMQ/Handlers/Handler.Rpc.cs (1511, 2020-09-21)
src/RabbitMQ/Handlers/Handler.cs (2305, 2020-09-21)
src/RabbitMQ/Handlers/IHandler.Rpc.cs (689, 2020-09-21)
src/RabbitMQ/Handlers/IHandler.cs (580, 2020-09-21)
src/RabbitMQ/IPublisher.Response.cs (745, 2020-09-21)
src/RabbitMQ/IPublisher.cs (1089, 2020-09-21)
src/RabbitMQ/RabbitMQ.csproj (1484, 2020-09-21)
src/RabbitMQ/Serializers/ (0, 2020-09-21)
src/RabbitMQ/Serializers/Serializer.cs (2564, 2020-09-21)
src/RabbitMQ/Services/ (0, 2020-09-21)
src/RabbitMQ/Services/RabbitMqPublisher.Sync.cs (2117, 2020-09-21)
src/RabbitMQ/Services/RabbitMqPublisher.cs (2027, 2020-09-21)
src/RabbitMQ/Services/RabbitMqSubscriber.Sync.cs (2345, 2020-09-21)
src/RabbitMQ/Services/RabbitMqSubscriber.cs (2072, 2020-09-21)
src/RabbitMQ/Services/RabbitMqSubscriberBase.cs (3024, 2020-09-21)
src/RabbitMQ/Services/SingleChannelPublisher.Sync.cs (3124, 2020-09-21)
src/RabbitMQ/Services/SingleChannelPublisher.cs (3067, 2020-09-21)
src/RabbitMQ/SubscriberAttribute.cs (993, 2020-09-21)
src/RabbitMQ/ValueObjects/ (0, 2020-09-21)
src/RabbitMQ/ValueObjects/BeforeSubscribeEventArgs.cs (721, 2020-09-21)
src/RabbitMQ/ValueObjects/ErrorModel.cs (1662, 2020-09-21)
src/RabbitMQ/ValueObjects/QueueDescriptor.cs (5436, 2020-09-21)
![Rabbitmq](https://miro.medium.com/max/725/1*4-jIqua2I-NmIjy_Tl348g.png)
# Building Blocks: Blocos de Código aceleradores
O projeto Building Blocks so um catalogo de facilitadores criados para simplificar a implantao dos recursos e técnologias.
# Comeando
Instale os Blocos de Construo para RabbitMq usando o nuget:
```
dotnet add package RabbitMQ
```
# Configurao
Em Startup.cs, adicione seguinte configurao:
```csharp
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
//(...)
services.AddRabbitMq()
.WithEnviroments(Configuration);
//(...)
}
```
Onde você precisa configurar as váriaveis de ambiente conforme abaixo:
| Variável | Valor padro |
|---|---|
| RABBITMQ_HOST | localhost |
| RABBITMQ_USER | guest |
| RABBITMQ_PASSWORD | guest |
| RABBITMQ_VHOST | / |
| RABBITMQ_PORT | 5672 |
| RABBITMQ_RETRYDELAY | 30 |
| RABBITMQ_MAXATTEMPS | 5 |
| RABBITMQ_USE_SSL | false |
| RABBITMQ_NAMEPREFIX | - |
| RABBITMQ_NAMESUFIX | - |
| RABBITMQ_USESCOPE | false |
| RABBITMQ_TTL | - |
| RABBITMQ_PREFETCHCOUNT | 10 |
Você também pode usar o método 'WithParameters' para determinar estes parmetros manualmente.
Abaixo, um exemplo de parametrizao do arquivo launchSettings.json localizado em Properties, no Visual Studio:
```json
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"Local": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "weatherforecast",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"RABBITMQ_HOST": "localhost",
"RABBITMQ_VHOST": "/",
"RABBITMQ_PORT": "5672",
"RABBITMQ_USER": "guest",
"RABBITMQ_PASSWORD": "guest",
"RABBITMQ_USE_SSL": "false"
}
}
}
};
```
# Ciclo de Vida
Todos os subscribers e publisher so criados de maneira interna com AddTransient(), mas opcionamente você pode usar 'WithScope' para mapear os objetos com AddScoped() internamente.
```csharp
services.AddRabbitMq()
.WithEnviroments(Configuration)
.WithScope();
```
# Habilitar o RabbitMq localhost com o Docker
## Via docker comando:
```bash
docker pull heidiks/rabbitmq-delayed-message-exchange:latest
docker run -d --hostname my-rabbit --name some-rabbit heidiks/rabbitmq-delayed-message-exchange:latest
```
## Para rodar com o compose:
```yaml
LOCAL_RABBIT:
image: heidiks/rabbitmq-delayed-message-exchange:latest
ports:
- 15672:15672
- 5672:5672
```
## Aplicao de Exemplo:
Veja na pasta 'samples' contextos de exemplo para utilizao do BuildingBlocks
近期下载者:
相关文件:
收藏者: