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

如何禁用Asp.Net MVC中的Azure AppFabric Cache或模拟该缓存

解决Azure AppFabric Cache本地部署报错的两种方案

你遇到的错误是因为本地环境无法连接到Azure云端的AppFabric Cache服务,下面提供两种可行的解决思路:

方案一:直接禁用Azure AppFabric Cache

如果只是需要在本地运行网站,不需要缓存功能,可以完全移除相关配置和代码:

  1. 修改Web.config移除缓存配置

    • 注释或删除dataCacheClients相关的配置节:
      <!-- 注释掉缓存配置节声明 -->
      <!-- <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" /> -->
      <!-- 注释掉整个缓存客户端配置节点 -->
      <!-- <dataCacheClients>
        <dataCacheClient name="default">
          <autoDiscover isEnabled="true" identifier="mydomain.cache.windows.net" />
          <securityProperties mode="Message" sslEnabled="false">
            <messageSecurity authorizationInfo="info" />
          </securityProperties>
        </dataCacheClient>
      </dataCacheClients> -->
      
    • 配置Session State为本地模式(如果之前依赖分布式缓存存储Session):
      在Web.config中添加或修改<sessionState>节点:
      <sessionState mode="InProc" cookieless="false" timeout="20" />
      
    • 保留<caching>节点的话,确保enableOutputCache="false",避免输出缓存依赖AppFabric。
  2. 清理代码和引用

    • 移除项目中对Microsoft.ApplicationServer.Caching.Core、Microsoft.ApplicationServer.Caching.Client等相关程序集的引用;如果是通过NuGet安装的,直接卸载对应的包。
    • 注释或替换代码中使用DataCache的逻辑,比如改用HttpRuntime.Cache实现本地缓存,或者直接去掉缓存相关代码。

方案二:本地模拟Azure AppFabric Cache

如果需要保留缓存逻辑,想在本地模拟云端的AppFabric环境,可以安装本地版的AppFabric缓存服务:

  1. 安装Windows Server AppFabric

    • 下载并安装Windows Server AppFabric 1.1(和2013年项目的依赖版本匹配,避免兼容性问题)。
    • 安装完成后,打开AppFabric缓存配置工具,创建一个本地缓存集群:
      • 选择“新建缓存集群”,配置本地服务器作为缓存主机。
      • 设置缓存服务的账户(建议用本地系统账户或有足够权限的账户)。
      • 启动缓存集群和缓存服务。
  2. 修改Web.config指向本地缓存

    • 更新dataCacheClients配置,将identifier改为本地缓存主机名(比如localhost):
      <dataCacheClient name="default">
        <autoDiscover isEnabled="true" identifier="localhost" />
        <!-- 本地缓存如果没启用安全,设置mode为None -->
        <securityProperties mode="None" sslEnabled="false" />
      </dataCacheClient>
      
    • 确保本地防火墙允许AppFabric缓存服务的端口(默认端口包括22233、22234等,可在配置工具中查看)。
  3. 验证本地缓存服务

    • 打开Windows服务管理器,确认AppFabric Caching Service处于运行状态。
    • 用PowerShell命令检查缓存集群状态:
      Use-CacheCluster
      Get-CacheClusterInfo
      Get-Cache
      

注意事项

  • 如果选择禁用缓存,要确认网站的Session和其他功能不依赖分布式缓存,InProc模式下Session会在应用池回收时丢失,这在本地开发中通常可以接受。
  • 本地模拟缓存时,务必保证安装的AppFabric版本和项目引用的程序集版本一致,否则可能出现兼容性错误。

内容的提问来源于stack exchange,提问作者Khizar Iqbal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:33:44