使用 C# 访问部署到 Azure 应用服务 Linux 的 Bin/Release 文件夹中的文件

问题描述 投票:0回答:1

我在代码中存储了一些 json 文件,这些文件已发布到 Azure 应用程序服务。 以前,应用程序服务计划基于 Windows 操作系统,我可以使用轻松访问文件。

var path = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
string data=File.ReadAllText(path+"/"+"file.json");

但是我现在面临的是,将应用程序服务计划更改为Linux后,上面的代码不再起作用。

还有其他方法可以访问吗?

c# linux .net-8.0 azure-appservice
1个回答
0
投票

仅当

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);
  • 确保 bin 文件夹中的文件可用。

输出: enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.