在wwwroot之外加载json文件

时间:2016-04-07 08:58:23

标签: c# json file asp.net-core loading

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

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

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

无论如何我可以加载它们吗?

1 个答案:

答案 0 :(得分:1)

即使工作目录默认设置为wwwroot,您也可以访问环境允许的任何文件。将客户端未直接访问的数据存储到wwwroot以外的其他目录中是有意义的。

您可以使用PlatformServices.Default.Application处的服务通过approot获取ApplicationBasePath文件夹的路径。这样,您可以确保访问正确的文件,而无需依赖工作目录和相对路径。

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