Estoy usando la función .net 5 azure con ServiceBusTrigger. En versión anterior. Estaba usando un parámetro MessageReceiver para decirle a Azure que completé la tarea. Para eso usé
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);Mi problema es que la nueva versión (.net5) a diferencia de la versión anterior (.net core 3.1) es param en cadena (json) no en objeto (tal vez sea el error pero no sé qué objeto usar, objeto que probé era Microsoft.Azure.ServiceBus.Core.MessageReceiver).
Pero ahora no tengo el objeto, así que no puedo llamar al método.
¿Alguien sabe la respuesta? Gracias por su tiempo.
Ejemplo de mi código:
Function("TasksFunction")] public async Task Run([ServiceBusTrigger("queue", Connection = "ConnectionString")] string message, string id, MessageReceiver messageReceiver, FunctionContext executionContext) { try { await messageReceiver.CompleteAsync(message.SystemProperties.LockToken); await DoWorkAsync(messageReceiver, message); } catch (Exception e) { log.LogCritical(e); } }Intente vincular su mensaje al tipo de mensaje en lugar de a la cadena
public async Task Run([ServiceBusTrigger("queue", Connection = "ConnectionString")] Message message, string id, MessageReceiver messageReceiver, FunctionContext executionContext) El mensaje tiene la propiedad SystemPropertiesCollection y usa message.SystemProperties.LockToken