【问题标题】:Azure function 2 Dependency injection throwing errorAzure函数2依赖注入抛出错误
【发布时间】:2019-03-07 14:17:19
【问题描述】:

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

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()
    {
    }
}

【问题讨论】:

    标签: c# azure azure-functions


    【解决方案1】:

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

    【讨论】:

    • 尽管我现在在 1.0.28,但我仍然遇到问题
    • 在 1.0.29 上为我工作
    【解决方案2】:

    使用低于 Microsoft.NET.Sdk.Functions 3.0.1 的任何内容。我有 3.0.2 并且出现此错误,我不得不降级,但再次使用 ASP.NetCore 2.2,所以不确定这是否与它有很大关系

    【讨论】:

      猜你喜欢
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多