无法在.net框架的Azure函数应用中绑定参数'lockToken'?

问题描述

我使用以下代码在应用程序中使用.net核心Azure函数,没有问题。

但是,当我使用.net框架创建Azure函数应用程序时,它会抛出错误。

我尝试了所有可能的Google解决方案。该错误显然是由于nuget和库造成的,因为相同的代码对于v2 .net核心功能应用程序可以正常工作。

[FunctionName("Function1")]
        public static async System.Threading.Tasks.Task RunAsync([ServiceBusTrigger("topic","sub",Connection = "ConnectionStringSettingName")]Message mySbMsg,string lockToken,MessageReceiver messageReceiver,ILogger log)
        {
            log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");

            
        }

我什至也尝试过:

 [FunctionName("Function1")]
            public static async System.Threading.Tasks.Task RunAsync([ServiceBusTrigger("topic",Guid lockToken,ILogger log)
            {
                log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
    
                
            }

如果我将其作为guid或字符串,反之亦然,则会出现错误:

错误索引方法'Function1.RunAsync'。 Microsoft.Azure.WebJobs.Host:无法将参数“ lockToken”绑定到 键入Guid。确保绑定支持参数“类型”。 如果您使用的是绑定扩展(例如ServiceBus,Timer等) 确保您已调用扩展程序的注册方法 在您的启动代码中(例如config.UseServiceBus(),config.UseTimers(), 等)。

反之亦然:

RunAsync:Microsoft.Azure.WebJobs.Host:错误索引方法 'Function1.RunAsync'。 Microsoft.Azure.WebJobs.Host:无法绑定 参数“ lockToken”以输入Guid。确保参数类型为 受绑定支持。如果您使用的是绑定扩展名(例如 ServiceBus,Timer等),以确保您已致电注册 启动代码中扩展名的方法(例如 config.UseServiceBus(),config.UseTimers()等)。

解决方法

您要发送的locktoken参数是一个字符串。

错误消息是它无法将锁令牌绑定到Guid。

因此,可能期望一个有效的Guid字符串,并且您要发送其他内容。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...