找不到 AddMasstransitHostedService
AddMasstransitHostedService cannot be found
美好的一天
我正在为 .net6 网络核心应用程序配置 Masstransit
已添加 Masstransit nuget 包:
<PackageReference Include="MassTransit.Extensions.DependencyInjection" Version="7.2.4" />
<PackageReference Include="MassTransit.RabbitMQ" Version="7.2.4" />
正在启动中注册它,它说没有像 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...
这是我尝试发布消息的方式:
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);
您需要添加 MassTransit.AspNetCore
包参考。
请注意,对于 MassTransit V8 或更高版本,不再需要此包,不应引用。
美好的一天 我正在为 .net6 网络核心应用程序配置 Masstransit 已添加 Masstransit nuget 包:
<PackageReference Include="MassTransit.Extensions.DependencyInjection" Version="7.2.4" />
<PackageReference Include="MassTransit.RabbitMQ" Version="7.2.4" />
正在启动中注册它,它说没有像 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...
这是我尝试发布消息的方式:
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);
您需要添加 MassTransit.AspNetCore
包参考。
请注意,对于 MassTransit V8 或更高版本,不再需要此包,不应引用。