【发布时间】:2021-08-16 02:33:06
【问题描述】:
我是 azure 服务总线的新手,我应该将消息推送到队列,然后有一个单独的计划任务将读取此队列中的所有活动消息并将它们批量导入 sql 我之前尝试过这段代码,当我在发送消息后立即调用它时它正在工作,但现在它在单独的计划任务中不起作用。 任何帮助为什么或我可以使用什么来批量阅读消息或这是不可能的
queueClient = new QueueClient(conn, queuename, ReceiveMode.ReceiveAndDelete);
var messageHandlerOptions = new MessageHandlerOptions(ExceptionReceivedHandler)
{
MaxConcurrentCalls = 1,
AutoComplete = false
};
queueClient.RegisterMessageHandler(ReceiveMessagesAsync, messageHandlerOptions);
public async Task ReceiveMessagesAsync(Message message, CancellationToken token)
{
messages.Add(message.Body.ToString());
Console.WriteLine($"Received message: {Encoding.UTF8.GetString(message.Body)}");
await queueClient.CompleteAsync(message.SystemProperties.LockToken);
}
public Task ExceptionReceivedHandler(ExceptionReceivedEventArgs exceptionReceivedEventArgs)
{
Console.WriteLine(exceptionReceivedEventArgs.Exception);
return Task.CompletedTask;
}
【问题讨论】:
标签: c# azureservicebus azure-servicebus-queues