首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSQ vb.net MessageHandler

NSQ vb.net MessageHandler
EN

Stack Overflow用户
提问于 2015-08-03 18:02:52
回答 1查看 205关注 0票数 0

我试图在vb.net NsqSharp中使用这个包,在C#中有一个很好的代码,但是在vb.net中我需要它。

我得到它是为了向我的NSQ服务器发送一条信息,但问题是如何得到它。但是我在consumer.AddHandler(New HandleMessage())上有一个错误,我不知道我是否声明了HandleMessage是对的。

代码语言:javascript
复制
Imports NsqSharp
Imports System.IO
Imports System.Text
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim producer = New Producer("127.0.0.1:4150")

        producer.Publish("test-topic-name", Me.txt_tx.Text)
        producer.Stop()
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim consumer = New Consumer("test-topic-name", "channel-name")
        consumer.AddHandler(New HandleMessage())

        consumer.ConnectToNsqLookupd("127.0.0.1:4161")
        consumer.Stop()
    End Sub
    Public Interface IHandler : End Interface
    Public Sub HandleMessage(message As Message)
        Dim msg As String = Encoding.UTF8.GetString(message.Body)
        MsgBox(msg)
    End Sub
    Public Sub LogFailedMessage(message As Message)
        Dim msg As String = Encoding.UTF8.GetString(message.Body)
        MsgBox(msg)
    End Sub
End Class
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-08 10:49:52

但是我在实现IHandler时出错了

对问题的可爱描述,当您没有描述您所看到的确切的错误消息时,您就无法得到有用的答案。您确实写错了代码,VB.NET需要接口方法实现上的Implements关键字。通常,通过让IDE为您生成这些方法,您会陷入成功的泥潭。一旦输入"Implements“并按Enter键,IDE就会自动添加这些方法。

因此,库引用可能也有问题。步骤一步一步:

  1. 工具>>控制台。
  2. 输入“”。当它下载和安装软件包时,看着它移动。
  3. Imports NsqSharp放在源文件的顶部。

您现在应该以以下内容结束:

代码语言:javascript
复制
Public Class MessageHandler
    Implements IHandler

    Private Sub IHandler_HandleMessage(message As Message) Implements IHandler.HandleMessage
        Dim msg As String = Encoding.UTF8.GetString(message.Body)
        MessageBox.Show(msg)
    End Sub

    Private Sub IHandler_LogFailedMessage(message As Message) Implements IHandler.LogFailedMessage
        Dim msg As String = Encoding.UTF8.GetString(message.Body)
        MessageBox.Show(msg)
    End Sub
End Class
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31793842

复制
相关文章

相似问题

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