Mico.Demo/MassTransit示例代码/MassTransitDemo.Publisher/Program.cs

51 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using MassTransit;
using MassTransitDemo.Contracts;
var builder = WebApplication.CreateBuilder(args);
// 添加控制器服务
builder.Services.AddControllers();
// 添加API探索器用于Swagger
builder.Services.AddOpenApi();
// 配置MassTransit和RabbitMQ
builder.Services.AddMassTransit(x =>
{
// 配置RabbitMQ传输
x.UsingRabbitMq((context, cfg) =>
{
// 从配置中读取RabbitMQ连接信息
var rabbitMqConfig = builder.Configuration.GetSection("RabbitMQ");
var host = rabbitMqConfig["Host"];
var port = ushort.Parse(rabbitMqConfig["Port"]!);
var username = rabbitMqConfig["Username"];
var password = rabbitMqConfig["Password"];
var virtualHost = rabbitMqConfig["VirtualHost"];
// 配置RabbitMQ主机连接
cfg.Host(host, port, virtualHost, h =>
{
h.Username(username);
h.Password(password);
});
// 配置消息端点(发布者不需要配置消费者,只需要配置发送)
cfg.ConfigureEndpoints(context);
});
});
var app = builder.Build();
app.MapOpenApi();
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/openapi/v1.json", "API v1");
});
// 映射控制器路由
app.MapControllers();
app.Run();