我已经完成了EasyNetQ https://github.com/EasyNetQ/EasyNetQ/wiki/Quick-Start的设置
下面的代码
using System;
using EasyNetQ;
static void Main(string[] args)
{
using (var bus = RabbitHutch.CreateBus("host=localhost"))
{
var input = "";
Console.WriteLine("Enter a message. 'Quit' to quit.");
while ((input = Console.ReadLine()) != "Quit")
{
bus.Publish(new TextMessage
{
Text = input
});
}在bus.Publish行抛出此错误
错误CS1929 'IBus‘不包含'Publish’的定义,最佳扩展方法重载'PubSubExtensions.Publish(IPubSub,TextMessage,CancellationToken)‘需要类型为'IPubSub’PetStore.StockDelivery.Publish的接收方
我安装了EasyNetQ
<ItemGroup>
<PackageReference Include="EasyNetQ" Version="5.3.0-alpha0074" />
</ItemGroup>我通过nuget添加了这个,并获得了RabbitMQ和其他依赖项
当我查看IBus上的可用内容时
IPubSub PubSub { get; }
IRpc Rpc { get; }
ISendReceive SendReceive { get; }
IScheduler Scheduler { get; }
IAdvancedBus Advanced { get; }我是不是漏掉了什么?我也会让RabbitMQ服务器在本地主机上的mashine上运行正常,我已经测试过了
发布于 2020-11-14 20:48:45
他们把它移到了PubSub的财产下面。请参见下面的代码示例:
public class Publisher<T>
{
IBus bus;
public Publisher()
{
bus = RabbitHutch.CreateBus("host=localhost");
}
public async void Send(T message)
{
await bus.PubSub.PublishAsync(message).ConfigureAwait(false);
}
}https://stackoverflow.com/questions/62363969
复制相似问题