我有一个绑定到服务总线主题的简单触发器。我正在尝试将其他服务注入到触发器中,但是收到错误:
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()
{
}
}
答案 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,所以不确定是否与它有很大关系