Appfabric 缓存未刷新 - 共享 ID 的使用

本文关键字:ID 共享 缓存 刷新 Appfabric | 更新日期: 2023-09-27 17:55:46

我有一个 Web 场,其中包含 4 个托管 Web 应用程序 (x) 的 Web 服务器,该应用程序由网络负载均衡器控制,用于分布式会话维护,我使用 App fabric cache 作为我的会话提供程序。

我只使用一个创建了区域的缓存服务器。

我的配置包含区域名称和共享应用 ID,它们在场中托管的所有 Web 应用 (x) 中都是相同的。

但是,我看到如果我使用 IP 访问 Web 应用程序,所有会话都不同

http://10.10.10.1/myapp/file.aspx returns different session values
http://10.10.10.2/myapp/file.aspx returns different session values
http://10.10.10.3/myapp/file.aspx returns different session values
http://10.10.10.4/myapp/file.aspx returns different session values
http://servername/myapp/file.aspx returns different session values

在这种情况下,共享ID有什么用? 我的计划是维护单个会话,尽管我的应用程序托管在多个服务器中以提高性能。

主要问题是我的缓存行为不正常,有时会话值即使在更改后的 1-2 分钟内也不会更新

我的网络配置设置

<section name="dataCacheClient" type="Microsoft.ApplicationServer.Caching.DataCacheClientSection, Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowLocation="true" allowDefinition="Everywhere"/>
<dataCacheClient>
    <!-- cache host(s) -->
        <hosts>     
          <host name="x" cachePort="22233" />
        </hosts>
    <securityProperties mode="None" protectionLevel="None" />
</dataCacheClient>

<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
    <providers>
        <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="xyz" sharedId="app123"  />
  </providers>
</sessionState>

Appfabric 缓存未刷新 - 共享 ID 的使用

尝试查看是否始终保留相同的ASPNET Cookie(在您喜欢的浏览器中使用开发器工具)。由于 Cookie 也绑定到域,因此如果域不同,您的浏览器将不会发送它。

在缓存集群上,检查会话数:如果您有多个会话,则分布式会话管理肯定会出现问题。