use*_*050 5 azure azureservicebus azure-servicebus-queues
当我使用服务总线生产者代码(如下)在 Azure 门户和我的应用程序中创建计划服务总线消息时,我会收到一个序列号。我将其保存在我的数据库中。
问题- 当我的服务总线使用者代码由计划消息出列触发时,序列号与服务总线生产者代码和通过 Azure 门户最初提供给我的序列号不同。
如图所示,其中“13”是 Azure 门户屏幕中显示的序列号。
这是接收预定消息的代码,您可以看到序列号不同!
这是我的消费者代码(不认为这很重要)
private async Task MessageHandler(ProcessMessageEventArgs args)
{
string body = args.Message.Body.ToString();
JObject jsonObject = JObject.Parse(body);
var eventStatus = (string)jsonObject["EventStatus"];
await args.CompleteMessageAsync(args.Message);
// fetch row here by sequence number
// edit some data from entity, then save
int result = await dbContext.SaveChangesAsync();
}
Run Code Online (Sandbox Code Playgroud)
这是我的生产者代码
public async Task<long> SendMessage(string messageBody, DateTimeOffset scheduledEnqueueTimeUtc)
{
await using (ServiceBusClient client = new ServiceBusClient(_config["ServiceBus:Connection"]))
{
ServiceBusSender sender = client.CreateSender(_config["ServiceBus:Queue"]);
ServiceBusMessage message = new ServiceBusMessage(messageBody);
var sequenceNumber = await sender.ScheduleMessageAsync(message, scheduledEnqueueTimeUtc);
return sequenceNumber;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
772 次 |
最近记录: |