Azure functions 函数应用-由于对象的当前状态,操作无效

Azure functions 函数应用-由于对象的当前状态,操作无效,azure-functions,azure-function-app,Azure Functions,Azure Function App,我使用的是Azure函数-服务总线队列触发器C#。我可以在本地很好地运行这个函数。我能够在Azure中部署此功能应用程序: 在运行该功能时: 我看到以下错误: 如何解决此错误 代码如下: [FunctionName("XFunction")] public async Task Run([ServiceBusTrigger("xxx", Connection = "queueConnectionString")] Message

我使用的是Azure函数-服务总线队列触发器C#。我可以在本地很好地运行这个函数。我能够在Azure中部署此功能应用程序:

在运行该功能时:

我看到以下错误:

如何解决此错误

代码如下:

[FunctionName("XFunction")]
public async Task Run([ServiceBusTrigger("xxx", Connection = "queueConnectionString")] Message message, MessageReceiver messagereceiver, ILogger logger)
{
    
    var bodyJson = Encoding.UTF8.GetString(message.Body);
    var myMessage = JsonConvert.DeserializeObject<IdentifiedSubmissionMessage>(bodyJson);

    try
    {
        await _application.ProcessNewSubmission(myMessage.NewSubmissionMessage, myMessage.PackageInformation);
        await messagereceiver.CompleteAsync(message.SystemProperties.LockToken);
    }
    catch (Exception ex)
    {
        
    }
}
更新:

如下所示更新host.json后,我仍然遇到相同的异常:

{
  "version": "2.0",
  "extensions": {
    "serviceBus": {
      "prefetchCount": 100,
      "messageHandlerOptions": {
        "autoComplete": false,
        "maxConcurrentCalls": 32,
        "maxAutoRenewDuration": "00:05:00"
      },
      "sessionHandlerOptions": {
        "autoComplete": false,
        "messageWaitTimeout": "00:00:30",
        "maxAutoRenewDuration": "00:55:00",
        "maxConcurrentSessions": 16
      }
    }
  }
}

在function.json中为这些参数添加
绑定绑定。尝试将参数名称从
messagereceiver
更改为
messagereceiver
,并更新function.json中相应的绑定

MessageReceiver
用于接收和确认来自消息容器的消息。当
autoComplete
设置为false时,需要该选项。请验证
host.json
中的
autoComplete
是否设置为false:

{
    "version": "2.0",
    "extensions": {
        "serviceBus": {
            "prefetchCount": 100,
            "messageHandlerOptions": {
                "autoComplete": true,
                "maxConcurrentCalls": 32,
                "maxAutoRenewDuration": "00:05:00"
            },
            "sessionHandlerOptions": {
                "autoComplete": false,
                "messageWaitTimeout": "00:00:30",
                "maxAutoRenewDuration": "00:55:00",
                "maxConcurrentSessions": 16
            }
        }
    }
}

你能分享一些更多的信息吗,比如:语言、框架和绑定设置?特别是绑定会很有趣-这是ServiceBustigger吗?您能显示错误的详细信息吗?似乎你正在使用持久功能,你能展示代码,以便我们可以做一个测试。请查看更新的问题。非常感谢。非常感谢。我应该在messageHandlerOptions和sessionHandlerOptions中将autoComplete设置为false吗?该错误会同时反映message和messageReceiver。消息可能有什么问题?我尝试使用您共享的host.json,但仍然看到相同的错误。能否在所有位置将autoComplete更改为false?即使在所有位置将authocomplete设置为false,我仍然看到相同的问题。
{
    "version": "2.0",
    "extensions": {
        "serviceBus": {
            "prefetchCount": 100,
            "messageHandlerOptions": {
                "autoComplete": true,
                "maxConcurrentCalls": 32,
                "maxAutoRenewDuration": "00:05:00"
            },
            "sessionHandlerOptions": {
                "autoComplete": false,
                "messageWaitTimeout": "00:00:30",
                "maxAutoRenewDuration": "00:55:00",
                "maxConcurrentSessions": 16
            }
        }
    }
}