正在 wwwroot 之外加载 json 文件

Loading json file outside of wwwroot

我将我的语言资源文件存储为 JSON 并且需要使用 Newtonsoft.Json 包加载和反序列化它们。

将这些文件放在 wwwroot 文件夹中没有多大意义,因为它们不会被客户端直接使用或打开。

我尝试使用 File.LoadAllText() 加载它们,但它试图在 wwwroot 中找到这些文件,并且不会在其中查找。

我可以加载它们吗?

即使工作目录默认设置为 wwwroot,您也可以访问环境允许的任何文件。将客户端不直接访问的数据存储到 wwwroot.

以外的其他目录是有意义的

您可以使用 PlatformServices.Default.Application 处的服务通过 ApplicationBasePath 获取 approot 文件夹的路径。通过这种方式,您可以确保在不依赖工作目录和相对路径的情况下访问正确的文件。

要使用它,您必须添加对 Microsoft.Extensions.PlatformAbstractions 的引用。