I'm using a Microsoft azure service bus queue and whenever I run it locally I get the following 2 errors:
Can't determine project language from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell]
Microsoft.Azure.ServiceBus.MessageLockLostException: The lock supplied is invalid. Either the lock expired, or the message has already been removed from the queue, or was received by a different receiver instance.
Here is my code:
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);
}
}