You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用本地缓存的Azure Kudu文件自动删除及持久化方案咨询

Azure App Service本地缓存模式下文件持久化解决办法

问题根源

开了本地缓存后,/home/site/wwwroot 是实例本地的缓存副本,和后台的持久化存储走异步同步机制,直接往这儿写的文件要么被缓存同步覆盖,要么很快就被清理。之前试的/home、/home/local这些目录,要么受缓存规则影响,要么属于实例本地临时存储,根本留不住文件。

靠谱的解决步骤

1. 用正确的持久化目录

直接往 /home/site/data 目录写文件,这个目录绑定Azure持久化存储,不受本地缓存影响,写入的文件会一直保留。

2. 修改代码里的写入路径

把代码中的文件路径替换为这个持久化目录,举个C#的示例:

// 获取持久化目录路径
string persistentDir = Path.Combine(Environment.GetEnvironmentVariable("HOME"), "site", "data");
// 拼接目标文件路径
string filePath = Path.Combine(persistentDir, "your-target-file.txt");
// 写入需要持久化的内容
File.WriteAllText(filePath, "要保存的内容");

其他语言同理,只要把文件路径指向/home/site/data即可。

3. 验证持久化效果

写完文件后,在Kudu的Debug console里进入/home/site/data目录,刷新确认文件存在;接着重启App Service实例,再次检查该目录,文件还在就说明持久化成功。

4. 避坑提醒

  • 别再往/home/site/wwwroot写需要持久化的内容,哪怕刚写完能看到,缓存一同步就会丢失。如果必须在wwwroot下放文件,走正常部署流程推送,别用代码动态写入。
  • 检查本地缓存配置,要是缓存空间设得太小,也可能触发文件自动清理,调整到合适大小即可。
  • 可以去Kudu的Log stream里查看是否有文件删除相关日志,确认是不是缓存清理机制导致的文件消失。

内容的提问来源于stack exchange,提问作者Peddireddy Varun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:22:34