首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到EasyNetQ发布方法

找不到EasyNetQ发布方法
EN

Stack Overflow用户
提问于 2020-06-14 02:23:39
回答 1查看 508关注 0票数 0

我已经完成了EasyNetQ https://github.com/EasyNetQ/EasyNetQ/wiki/Quick-Start的设置

下面的代码

代码语言:javascript
复制
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

代码语言:javascript
复制
<ItemGroup>
    <PackageReference Include="EasyNetQ" Version="5.3.0-alpha0074" />
</ItemGroup>

我通过nuget添加了这个,并获得了RabbitMQ和其他依赖项

当我查看IBus上的可用内容时

代码语言:javascript
复制
IPubSub PubSub { get; }
IRpc Rpc { get; }
ISendReceive SendReceive { get; }
IScheduler Scheduler { get; }
IAdvancedBus Advanced { get; }

我是不是漏掉了什么?我也会让RabbitMQ服务器在本地主机上的mashine上运行正常,我已经测试过了

EN

回答 1

Stack Overflow用户

发布于 2020-11-14 20:48:45

他们把它移到了PubSub的财产下面。请参见下面的代码示例:

代码语言:javascript
复制
 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);              
             
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62363969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档