我正在尝试在使用 IIS 的 A2hosting 共享托管 Windows 选项上托管 .net 核心应用程序。但是,一旦我UserSecretsId
在 .csproj 文件中使用了秘密管理器,我就得到了 502.5 错误。这很奇怪,因为生产不使用秘密管理器。在进行了一些挖掘之后,我发现在我的 .csproj 文件中添加以下行可以再次消除 502.5 错误:
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
现在,我需要将我的秘密存储在 web 文件夹之外。我正在尝试在我的 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 文件有什么好的替代方法吗?我正在尝试一些不乱的东西,比如读取一个 while 文件并将其序列化为AddInMemoryCollection
函数。是一种记录显示为 502.5 的错误的方法吗?我注意到出现此错误时,中间件无法运行。这意味着我不能在其中使用 ILogger。