Azure函数Servicebus触发器MaxAutoRenewDuration不受尊重

Azure函数Servicebus触发器MaxAutoRenewDuration不受尊重,azure,dependency-injection,azureservicebus,azure-servicebus-queues,azure-function-app,Azure,Dependency Injection,Azureservicebus,Azure Servicebus Queues,Azure Function App,我试图理解host.json文件中MessageHandlerOptions对象上的MaxAutoRenewDuration属性是如何工作的。我确实为我的概念验证(PoC)创建了一个简单的Azure函数: 我在项目/解决方案中的当前NuGet软件包: My host.json文件: { "version": "2.0", "logging": { "logLevel": { "De

我试图理解
host.json
文件中
MessageHandlerOptions
对象上的
MaxAutoRenewDuration
属性是如何工作的。我确实为我的概念验证(PoC)创建了一个简单的Azure函数:

我在项目/解决方案中的当前NuGet软件包:

My host.json文件:

{
"version": "2.0",
"logging": {
    "logLevel": {
        "Default": "Trace"
    },
    "applicationInsights": {
        "samplingSettings": {
            "isEnabled": false
        }
    }
},
"extensions": {
    "serviceBus": {
        "prefetchCount": 20,
        "messageHandlerOptions": {
            "autoComplete": false,
            "maxConcurrentCalls": 10,
            "MaxAutoRenewDuration": "00:07:00"
        }
    }
}
}
我对上面的期望是,我的Azure函数将通过依赖项注入自动注册
MaxAutoRenewDuration
值。我已经测试了
AutoComplete
属性在加载时是否受到尊重,并且它确实是。我的PoC试图模拟一个长时间运行的处理作业,调用一个外部端点(这只是一个逻辑应用程序,具有随机延迟)

如您所见,我确实注释掉了`//messageReceiver.RenewLockAsync(message);´. 如果取消对该行的注释,它将按预期工作,我的锁将被更新。但是如果我不使用它,我只获得消息的初始锁,由队列本身的服务器端配置设置

问题:这是设计的行为吗?还是应该像我期望的那样工作?通过
host.json
中的
MessageHandlerOptions
对象设置
MaxAutoRenewDuration
,然后由SDK本身处理

编辑:我刚刚挖掘了
messageReceiver
对象上的
receivePump
属性,并从中挖掘了
registerHandlerOptions
属性。从这里我可以看到它有正确的值。但后来我感觉某些特定于后端/SDK的事件处理程序并没有像预期的那样启动。还是我自己去登记

刚刚发现github问题:
{
"version": "2.0",
"logging": {
    "logLevel": {
        "Default": "Trace"
    },
    "applicationInsights": {
        "samplingSettings": {
            "isEnabled": false
        }
    }
},
"extensions": {
    "serviceBus": {
        "prefetchCount": 20,
        "messageHandlerOptions": {
            "autoComplete": false,
            "maxConcurrentCalls": 10,
            "MaxAutoRenewDuration": "00:07:00"
        }
    }
}
}