【发布时间】:2022-09-30 05:43:10
【问题描述】:
我有一个 azure 中的函数应用程序,当我点击函数应用程序的 URL 时,它显示“函数主机未运行。”我还在应用程序见解或 Azure 门户的函数应用程序服务中检查了日志,它会在函数应用中显示以下错误消息。
注意:我的管道的构建和发布成功了,所以我不确定在哪里检查以及解决方案是什么。我尝试了一个新的功能应用程序,但仍然没有运气。
我的 Startup.cs 文件以了解我如何引用配置值,
public override void Configure(IFunctionsHostBuilder builder)
{
//var connectionString = Environment.GetEnvironmentVariable(\"ConnectionStrings:DBConnection\");
var serviceProvider = builder.Services.BuildServiceProvider();
_configuration = serviceProvider.GetRequiredService<IConfiguration>();
var appSettingsSection = _configuration.GetSection(\"AppSettings\");
builder.Services.Configure<AppSettings>(appSettingsSection);
var appSettings = appSettingsSection.Get<AppSettings>();
RuntimeConfig.appsettings = appSettings;
var ConnectionString = RuntimeConfig.appsettings.AppDBConnection;
///builder.Services.AddDbContext<ShardingDbContext>(options => options.UseSqlServer(ConnectionString), ServiceLifetime.Transient);
//builder.Services.AddScoped<ITestService, TestService>();
}
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
FunctionsHostBuilderContext context = builder.GetContext();
builder.ConfigurationBuilder
.AddJsonFile(Path.Combine(context.ApplicationRootPath, \"local.settings.json\"), optional: true, reloadOnChange: false)
.AddJsonFile(Path.Combine(context.ApplicationRootPath, $\"{context.EnvironmentName}.settings.json\"), optional: true, reloadOnChange: false)
.AddEnvironmentVariables();
}
我将配置值作为 IConfiguration,它适用于我的本地但不知道如何在服务器中执行相同的操作。
-
您使用名称为“EIA”的东西吗?
-
您是否缺少一些应用程序设置?
-
@MarkusMeyer 是的,你怎么知道的?
-
@Thomas 我认为是的,但我不知道如何添加
-
@MdAslam 那在错误消息中。 \"EIA: 对象引用未设置为对象的实例\"。所以,这个 EAI 需要一些配置(代码或应用程序设置)。我猜这个配置是错误的或缺失的
标签: azure azure-functions azure-pipelines .net-6.0