Я пытаюсь разместить базовое приложение .net на опции окон виртуального хостинга A2hosting, которая использует IIS. Однако, как только я использовал UserSecretsId
в файле .csproj для секретного менеджера, я получил ошибку 502.5. Это странно, поскольку в производстве не используется секретный менеджер. После некоторых копаний я обнаружил, что добавление следующей строки в мой файл .csproj снова избавляет от ошибки 502.5:
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
Теперь мне нужно хранить свои секреты вне веб-папки. Я пытаюсь использовать следующий код в моем program.cs для установки этого:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseConfiguration(new ConfigurationBuilder()
.AddJsonFile("<path here>") // line causing issue
.Build())
.Build();
Этот код возвращает ошибку 502.5. Когда я закомментирую только строку AddJsonFile
, ошибка исчезнет. Я пытался понять, что не так с AddJsonFile
.
В заключение, проблема, кажется, вращается вокруг IConfiguration
(с секретным менеджером и AddJsonFile
).
Есть идеи, как заставить работать функцию AddJsonFile
? Любые хорошие альтернативы для доступа к внешнему файлу JSON? Я пытаюсь найти что-то не беспорядочное, например, чтение файла и сериализацию в функцию AddInMemoryCollection
. Можно ли регистрировать ошибки, показанные как 502,5? Я заметил, что с этими ошибками промежуточные программы не работают. Это означает, что я не могу использовать в них ILogger.