azure - 使用依赖注入在 Azure Functions 中传递配置和初始化客户端
问题描述
我正在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
。
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
解决方案
看起来这不是推荐的方法: https ://github.com/Azure/azure-functions-host/issues/4464#issuecomment-513017446
我决定在我的应用程序中更新我的类库,ASP.NET Core
以便在我的应用程序Azure KeyVault
和API
应用程序中使用Azure Functions
。
推荐阅读
- c# - 使用 C# 时如何获取传入数据包的 TTL
- linux - 在 Linux 中为 SMuFL 预览和键入 Unicode 字体(专用区域/基本多语言平面)
- r - 无法运行双向重复测量方差分析;0(非NA)案例
- java - 每次新构建后 Xpaths div 都会发生变化
- python - 在 tkinter 中禁用 Windows 操作系统缩放?
- mysql - MySQL DB 结构 - 调度系统
- git - 停止跟踪对文件的更改
- c# - C# 问题诊断 InvalidOperationException
- angular - 如何在 Angular 应用程序中为 PDFMake 导入自定义字体?
- python - Python pyodbc 和 Oracle SQL 无效数字错误