Я разместил Azure Функция V3 в среде Azure Linux. Я пытаюсь прочитать строку подключения из раздела конфигурации. Но я не понимаю. Я попытался поместить строку подключения в обе секции: Application Settings
, а также Connection Strings
, как показано ниже.
Я использую внедрение зависимостей и мой класс Startup
выглядит следующим образом.
using BHD.Data.Data;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using System;
[assembly: FunctionsStartup(typeof(BHD.AzureFunctions.Startup))]
namespace BHD.AzureFunctions
{
class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
var sqlConnection = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
builder.Services.AddDbContext<ApplicationDbContext>(
options => options.UseSqlServer(sqlConnection));
}
}
}
Я получаю NullPointerException
на ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString
, даже если строка подключения существует в файле local.settings.json
, как показано ниже.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true"
},
"ConnectionStrings": {
"DefaultConnection": "<My connection string>"
}
}