【发布时间】:2020-05-03 14:52:00
【问题描述】:
我正在尝试绑定到 Azure 服务总线触发函数中的 MessageReceiver。
我的目标是处理死信队列消息并完成它们。
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[ServiceBusTrigger(
"<topicName>",
"<subscriptionName>/$DeadLetterQueue",
Connection = "connectionstring")]
Message message,
ILogger logger,
MessageReceiver messageReceiver)
{
// TODO: Perform some actions
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);
}
问题是它无法绑定到MessageReceiver 类。
Microsoft.Azure.WebJobs.Host:索引方法“Function1”出错。 Microsoft.Azure.WebJobs.Host:无法将参数“receiver”绑定到类型 MessageReceiver。确保绑定支持参数类型。如果您正在使用绑定扩展(例如 Azure 存储、ServiceBus、计时器等),请确保您已在启动代码中调用了扩展的注册方法(例如 builder.AddAzureStorage()、builder.AddServiceBus( )、builder.AddTimers() 等)。
关于绑定失败的任何想法?
【问题讨论】:
-
我修复了同样的问题,但出于某些单元测试目的,我必须使用 IMessageReceiver。但问题又来了。知道变量名应该是什么吗?
标签: c# azure .net-core azureservicebus azure-servicebus-topics