托管 .NET Core 应用在使用"将 JSON 添加到配置"时提供 502.5



我正在尝试在A2hosting共享托管Windows选项上托管一个.net核心应用程序,该选项使用IIS。但是,一旦我在机密管理器的 .csproj 文件中使用了UserSecretsId,我就会收到 502.5 错误。这很奇怪,因为生产不使用机密管理器。经过一些挖掘,我发现在我的.csproj文件中添加以下行可以再次摆脱502.5错误:

<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

现在,我需要将我的机密存储在 Web 文件夹之外。我正在尝试在我的程序中使用以下代码.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 文件吗?我正在尝试一些不混乱的东西,例如读取 while 文件并将其序列化为AddInMemoryCollection函数。是否记录显示为 502.5 的错误?我注意到,由于此错误,中间件无法运行。这意味着我不能在其中使用 ILogger。

当显示有效路径时,此错误不再显示AddJsonFile("<path here>")。我可以使用重载AddJsonFile("<path here>", true)如果未找到文件,它将忽略此功能。这样,一旦路径有效,502.5 就会解析。但是,关于无效路径如何显示 502.5 错误仍然是一个谜。我也不确定这是否与配置包有关。

相关内容

  • 没有找到相关文章

最新更新