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

Kentico 13 ASP.NET Core站点部署时App_Data被清空的解决方案咨询

备份恢复App_Data方案可行性判断

该方案完全可行,落地时需要注意以下几点:

  • 备份/恢复脚本必须运行在目标部署服务器的代理上,不能在流水线的构建代理节点执行,否则无法读取到服务器上的现有App_Data内容
  • 执行拷贝操作前建议先停止站点对应的应用池,避免运行中的进程锁定App_Data下的文件导致拷贝失败,拷贝完成后再启动应用池
  • 恢复文件后需校验App_Data目录的访问权限,确保站点运行身份对该目录拥有读写权限,避免智能搜索、缓存等功能运行报错
  • 如果本次部署包内包含需要更新的App_Data内容(比如新增的初始化配置、静态资源),需做文件合并逻辑,不要直接全量覆盖避免新配置被旧文件冲抵
其他可选解决方案

你可以根据自己的场景选择更适配的方案:

  • 直接配置部署规则跳过App_Data目录更新:如果使用Web Deploy执行部署,在发布参数中添加-skip:Directory='App_Data'即可,部署流程会完全跳过对该目录的增删改操作,比备份恢复流程更简单高效,适合App_Data下仅存储运行时生成数据的场景
  • 修改智能搜索索引存储路径:Kentico 13支持自定义索引存储位置,在站点的appsettings.json中添加配置项 "CMSSmartSearchIndexPath": "你的自定义目录绝对路径",将索引存储到完全不参与部署流程的独立目录,从根源避免索引被部署操作清空,适合索引量大、备份恢复耗时较长的场景
  • 部署完成后自动触发索引重建:你可以基于Kentico的智能搜索API封装自动重建接口,或者直接调用Kentico命令行工具的索引重建指令,在部署流水线的最后一步添加任务自动执行重建,无需人工介入,适合索引数据更新频率高、备份的旧索引容易出现一致性问题的场景
  • 持久化存储挂载:如果站点部署在Azure App Service上,可以直接将App_Data目录挂载到Azure Files共享存储,部署操作不会清空挂载目录的内容,还能实现多实例部署时索引共享,无需每个实例单独维护索引

内容的提问来源于stack exchange,提问作者Peter Otmar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:18:02