Vb.net Azure服务总线,一次接收一条消息如何?
是否有人可以帮助修改此代码以一次只接收一条消息Vb.net Azure服务总线,一次接收一条消息如何?,vb.net,azure,azureservicebus,azure-servicebus-queues,Vb.net,Azure,Azureservicebus,Azure Servicebus Queues,是否有人可以帮助修改此代码以一次只接收一条消息 Private Sub Button_SEND_Click(sender As Object, e As EventArgs) Handles Button_SEND.Click Dim client As QueueClient = QueueClient.CreateFromConnectionString(My.Settings.connString, My.Settings.queueName) Dim messag
Private Sub Button_SEND_Click(sender As Object, e As EventArgs) Handles Button_SEND.Click
Dim client As QueueClient = QueueClient.CreateFromConnectionString(My.Settings.connString, My.Settings.queueName)
Dim message As New BrokeredMessage(TextBox_M2SEND.Text.Trim)
client.Send(message)
client = Nothing : message = Nothing
End Sub
' reading the message
Private Sub Button_READ_Click(sender As Object, e As EventArgs) Handles Button_READ.Click
Dim client As QueueClient = QueueClient.CreateFromConnectionString(My.Settings.connString, My.Settings.queueName)
Dim options As New OnMessageOptions()
options.AutoComplete = False
'options.AutoRenewTimeout = TimeSpan.FromMinutes(1)
client.OnMessage(Function(message)
Try
' Process message from subscription.
Console.WriteLine(vbLf & "**High Messages**")
Console.WriteLine("Body: " + message.GetBody(Of String)())
Console.WriteLine("MessageID: " + message.MessageId)
' Console.WriteLine("Message Number: " + message.Properties("MessageNumber"))
' Remove message from subscription.
message.Complete()
Catch generatedExceptionName As Exception
' Indicates a problem, unlock message in subscription.
message.Abandon()
End Try
End Function, options)
client = Nothing : options = Nothing
End Sub
我可以存储多条消息,但当我执行Button_Read时,它会将所有消息都提取出来。
如何一次只拉一个
多谢各位。
Alex。只需调用
client.Receive()
方法即可提取单个消息。对,就是这样。谢谢你,米哈伊尔,我可以提取数据吗?我想我必须替换client.OnMessage。。。。使用client.Receive()。例如,如何获取消息正文/消息Id?@alex.s您将获得BrokeredMessage
返回,与OnMessage
中的内容相同,我想我已经获得了。我添加了以下内容:Dim onemessage As BrokeredMessage onemessage=client.Receive()Console.WriteLine(onemessage.GetBody(字符串))onemessage.Complete()options.MaxConcurrentCalls=1
BTW,在每次单击按钮时创建和删除客户端不是一个好主意。您应该创建一次客户端并重新使用它。