Я следую этому руководству , чтобы настроить конфигурацию приложения Azure.
Но я думаю, что неправильно понимаю эту строку:
dotnet user-secrets set ConnectionStrings:AppConfig "Endpoint=<your_endpoint>;Id=<your_id>;Secret=<your_secret>"
Вернее; что есть что ...
- your_endpoint = Я установил строку подключения первичного ключа (скопирован из ресурса конфигурации приложения в Azure)
- your_id = guid установлен как UserSecretsId (на несколько шагов выше в руководстве)
- your_secret = ключ к секрету (ConnectionStrings: AppConfig в руководстве)
Но тогда моя программа всегда падает на:
config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]);
с исключением:
System.FormatException
HResult = 0x80131537
Сообщение = ввод не является допустимой строкой Base-64, так как он содержит неосновной 64-символ, более двух символов заполнения или недопустимый символ среди символов заполнения.
Источник = System.Private.CoreLib
Трассировки стека:
в System.Convert.FromBase64CharPtr (Char * inputPtr, Int32 inputLength)
в System.Convert.FromBase64String (String s)
в Microsoft.Azure.AppConfiguration.Azconfig.AzconfigClient..ctor (String connectionString, HttpMessageHandler httpMessageHandler, Boolean disposeHandler)
в Microsoft.Extensions.Configuration.AzureAppConfiguration.AzureAppConfigurationSource.Build (сборщик IConfigurationBuilder)
в Microsoft.Extensions.Configuration.ConfigurationBuilder.Build ()
в Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices (AggregateException & hostingStartupErrors)
в Microsoft.AspNetCore.Hosting.WebHostBuilder.Build ()
в Persistance.API.Program.Main (String [] args) в C: \ Repos \ эксперимент \ эксперимент \ Program.cs: строка 19
при выполнении этого блока кода (из руководства):
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
var settings = config.Build();
config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]);
})
.UseStartup<Startup>();
Щелкните правой кнопкой мыши по проекту -> Управление секретами пользователя. У меня есть этот файл json:
{
"Movies:ServiceApiKey": "12345",
"ConnectionStrings:AppConfig": "Endpoint=<Primary Key Connection String copied value from azure resource>;Id=<the UserSecretsId tag in csproj file>;Secret=<the Key value in App Configuration resource>"
}
Стоит отметить; моя строка соединения с первичным ключом содержит символы ';', '-', '+' и '=', но это не должны быть одинаковые символы ...