启用本地缓存的Azure kudu文件自动删除

66bbxpm5  于 10个月前  发布在  Kudu
关注(0)|答案(1)|浏览(80)

我们开发了一个页面,并部署到Azure应用服务,启用了本地缓存。
通过代码,我们正在创建一个文件并将数据写入Azure Kudu /home/site/wwwroot/* folders* 中。当我们运行页面时,文件被立即创建和删除。当我们浏览文件时,它被创建了所需的数据,如果我重新加载我正在获取文件找不到错误。
你能不能建议一个解决方案,如何持久化这个文件在kudu(任何路径),并根据需求不断更新?
注意:相同的解决方案在开发环境中工作。prod的唯一区别是本地缓存
尝试提供/home、/home/local、/data文件夹,但问题相同。由于成功创建了它,所以没有错误显示调试

uyhoqukh

uyhoqukh1#

当我们运行页面时,文件被立即创建和删除。当我们浏览文件时,它被创建了所需的数据,如果我重新加载我正在获取文件找不到错误。

  • 文件可能不会立即保留在本地文件系统中。本地缓存可能会自动删除文件,导致在创建后不久尝试访问文件时出现“未找到文件”错误。
  • 使用Azure App Service提供的App Data文件夹。此文件夹在部署和缩放事件中是持久的。
string appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string filePath = Path.Combine(appDataFolder, "yourfile.txt");

// use the /tmp directory.

string filePath = Path.Combine(Path.GetTempPath(), "your_file_name.txt");
File.WriteAllText(filePath, "your_data");

字符串
使用Environment.GetFolderPath方法可以获取App Data文件夹路径。
您也可以尝试将文件写入/home目录之外的其他目录。使用/tmp目录**,该目录用于临时文件,不受本地缓存的影响。

  • 如果您仍然面临问题,请在Azure Blob Storage中创建一个容器,并在那里上传您的文件。这样你就可以更好地控制文件的存储和检索,而且不会受到本地缓存的影响。

如果本地缓存导致问题,并且您的应用程序不需要它,则禁用它。这样就不会执行本地缓存,您的文件将直接写入文件系统或从文件系统读取。


的数据

相关问题