Хостинг.net core приложение дает 502,5 при использовании добавить JSON в конфигурацию

Я пытаюсь разместить ядро ​​приложения.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.

1 ответ

Решение

Эта ошибка больше не отображается, когда AddJsonFile("<path here>") показал правильный путь. Я мог бы использовать перегрузку AddJsonFile("<path here>", true) который игнорировал бы эту функцию, если файл не найден. Таким образом, 502,5 был разрешен после того, как путь был действительным. Однако до сих пор остается загадкой, как неверный путь показывает ошибку 502,5. Я также не уверен, имеет ли это отношение к пакету конфигурации.

Другие вопросы по тегам