我在ServiceBusTrigger中使用.net 5 azure函数。在以前的版本中。我使用parametr MessageReceiver告诉azure我已经完成了任务。为此,我使用了
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);我的问题是,我的新版本(.net5)不同于以前的版本(.net核心3.1)是在字符串(json)中的参数,而不是在对象中(可能是错误的,但我不知道使用哪个对象,我尝试的对象是json
但是现在我没有这个对象,所以我不能调用这个方法。
有人知道答案吗?谢谢你抽出时间来。
我的代码示例:
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);
}
}发布于 2021-04-17 19:35:37
尝试将消息绑定到Message类型,而不是字符串
public async Task Run([ServiceBusTrigger("queue", Connection = "ConnectionString")] Message message, string id, MessageReceiver messageReceiver, FunctionContext executionContext)消息具有property SystemPropertiesCollection 并使用message.SystemProperties.LockToken
https://stackoverflow.com/questions/67121413
复制相似问题