我在代码中存储了一些 json 文件,这些文件已发布到 Azure 应用程序服务。 以前,应用程序服务计划基于 Windows 操作系统,我可以使用轻松访问文件。
var path = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
string data=File.ReadAllText(path+"/"+"file.json");
但是我现在面临的是,将应用程序服务计划更改为Linux后,上面的代码不再起作用。
还有其他方法可以访问吗?
仅当
json
文件在 site/wwwroot
目录中可用时,您提供的代码才有效。
site/wwwroot
目录。当您查找 bin
文件夹时,路径会有所不同。下面的代码适用于我的本地、Windows 和 Linux 应用服务。
var path = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
string TFile = Directory.EnumerateFiles(path, "file.json", SearchOption.AllDirectories)
.FirstOrDefault();
string data = System.IO.File.ReadAllText(TFile);
输出: