Chr*_*ova 6 c# masstransit asp.net-core
美好的一天,我正在为 .net6 网络核心应用程序配置 Masstransit 已添加 Masstransit nuget 包:
<PackageReference Include="MassTransit.Extensions.DependencyInjection" Version="7.2.4" />
<PackageReference Include="MassTransit.RabbitMQ" Version="7.2.4" />
Run Code Online (Sandbox Code Playgroud)
我在 Startup 中注册它,它说没有像 AddMasstransitHostedService 这样的方法,我尝试在没有它的情况下发布消息,但没有创建交换(并且由于某种原因调试还显示端口 0 的实际地址)
非常感谢您的帮助已在互联网上搜索了所有相关内容,不幸的是尚未修复
这是我注册大众交通的方式:
services.AddMassTransit(mt =>
{
mt.UsingRabbitMq((context, cfg) =>
{
cfg.Host(new Uri(RabbitMqOptions.RabbitMqUri), h =>
{
h.Username(RabbitMqOptions.UserName);
h.Password(RabbitMqOptions.Password);
});
cfg.AutoStart = true;
cfg.Publish<IServerNotificationMessage>(e => e.ExchangeType = RabbitMQ.Client.ExchangeType.Direct);
});
});
services.AddMassTransitHostedService();//<-----this one hints: IServiceCollection doesnt contain a definition for AddMassTransitHostedService...
Run Code Online (Sandbox Code Playgroud)
这是我尝试发布消息的方式:
public class SomeController : ControllerBase
{
protected readonly IBus _bus;
public SomeController(IBus bus)
{
_bus = bus;
}
[HttpGet("TestPublish")]
public void TestPublish(CancellationToken cancellationToken)
{
_bus.Publish<SomeMessage>(new
{
...
... // fields go here
}, cancellationToken);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8245 次 |
| 最近记录: |