Azure函数2依赖项注入引发错误

时间:2019-03-07 14:17:19

标签: c# azure azure-functions

我有一个绑定到服务总线主题的简单触发器。我正在尝试将其他服务注入到触发器中,但是收到错误:

  

Microsoft.Extensions.DependencyInjection.Abstractions:无法执行   解决类型为“ AzureSearchSBTrigger.SimpleClass”的服务,而   尝试激活“ AzureSearchSBTrigger.AzureServiceTrigger”。

如果删除构造函数,则触发器可以正常工作,并且我可以接收消息等。

这是Azure函数2(.net核心),具有函数运行时版本:2.0.12332.0

这是设置方式(不起作用)

主要功能:

public AzureServiceTrigger(SimpleClass apiClient)
{
}

[FunctionName("AzureServiceTrigger")]
public async Task Run([ServiceBusTrigger("","",Connection = "SBConnectionString")]Message myQueueItem, ILogger log)
{
}

启动

[assembly: WebJobsStartup(typeof(StartUp))]
namespace AzureSearchSBTrigger
{
    internal class StartUp : IWebJobsStartup
    {
        public void Configure(IWebJobsBuilder builder)
        {
            builder.Services.AddSingleton<SimpleClass>();
        }
    }
}

简单类

public class SimpleClass
{
    public void Somethingsimple()
    {
    }
}

2 个答案:

答案 0 :(得分:3)

通过从1.0.24-> 1.0.26更新nuget包Microsoft.NET.Sdk.Functions修复

答案 1 :(得分:0)

使用Microsoft.NET.Sdk.Functions 3.0.1以下的任何内容。我有3.0.2,但遇到了这个错误,我不得不降级,但是又一次使用了ASP.NetCore 2.2,所以不确定是否与它有很大关系