【发布时间】:2020-12-27 09:16:30
【问题描述】:
我正在使用 Microsoft azure 服务总线队列,每当我在本地运行它时,都会收到以下 2 个错误:
无法从文件中确定项目语言。请使用 [--csharp、--javascript、--typescript、--java、--python、--powershell] 之一]
Microsoft.Azure.ServiceBus.MessageLockLostException:提供的锁无效。锁已过期,或者消息已经从队列中移除,或者被不同的接收器实例接收。
这是我的代码:
public async Task Run([ServiceBusTrigger("<queue-name>", Connection = "queueConnectionString")] Message message, MessageReceiver messagereceiver, ILogger logger)
{
var bodyJson = Encoding.UTF8.GetString(message.Body);
var myMessage = JsonConvert.DeserializeObject<NewSubmissionMessage>(bodyJson);
try
{
await _application.ProcessNewSubmission(myMessage);
await messagereceiver.CompleteAsync(message.SystemProperties.LockToken);
}
catch (InvalidPackageException ex)
{
await messagereceiver.DeadLetterAsync(message.SystemProperties.LockToken, deadLetterReason: ex.Message);
}
}
【问题讨论】:
-
您似乎在 C# 中使用 azure 函数?
-
没错——我用的是C#
-
第一个问题应该和local.settings.json有关。对于第二个问题,能否展示一下你正在使用的代码和汇编版本?
标签: azureservicebus azure-servicebus-queues