我正在使用Azure Functions
触发器创建一个新的Queue
。对我来说,关键的要求是使用在ASP.NET Core
应用程序中创建的现有类库,以便可以访问Repository
方法。我也有自己的客户,负责处理与某些第三方服务的通信。
我需要有关创建客户端实例并将配置传递给IConfiguration
的帮助。
这是我的Startup.cs
项目中的Azure Functions
的样子:
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using MyApp.Infrastructure.Clients;
using MyApp.Infrastructure.Interface;
using MyApp.Infrastructure.Repositories;
[assembly: FunctionsStartup(typeof(MyTestFunction.Startup))]
namespace MyTestFunction
{
public class Startup : FunctionsStartup
{
public IConfiguration Configuration { get; }
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddSingleton(new MyApp.Infrastructure.Clients.MyClient123(Configuration));
builder.Services.AddTransient<ICommunicationsRepository, CommunicationsRepository>();
}
}
}
在我的ASP.NET Core
应用的Startup.cs
中,我确实有一个constructor
可以处理配置-参见下文-但不确定如何处理此Azure Functions
。 / p>
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
答案 0 :(得分:1)
看起来不建议这样做: https://github.com/Azure/azure-functions-host/issues/4464#issuecomment-513017446
我已决定在ASP.NET Core
应用程序中更新类库,以便在Azure KeyVault
和API
应用程序中都使用Azure Functions
。