我正在尝试在使用IIS的A2hosting共享主机窗口选项上托管.net核心应用程序。但是,一旦我在.csproj文件中使用UserSecretsId
作为秘密管理器,我就得到了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文件?我正在尝试一些不会像读取文件并将其序列化为AddInMemoryCollection
函数那样混乱的东西。是一种记录错误显示为502.5的方法吗?我注意到,由于这些错误,中间件不会运行。这意味着我无法在其中使用ILogger。
答案 0 :(得分:0)
AddJsonFile("<path here>")
显示有效路径时,不再显示此错误。我可以使用重载AddJsonFile("<path here>", true)
,如果找不到该文件,它将忽略此函数。这样,一旦路径有效,就解决了502.5。然而,无效路径如何显示502.5错误仍然是个谜。我也不确定这是否与配置包有关。