gpt4 book ai didi

session-state - AppFabric 可以作为 session 状态提供程序并使用本地缓存吗?

转载 作者:行者123 更新时间:2023-12-04 15:27:30 26 4
gpt4 key购买 nike

我在我的 ASP.Net MVC2 应用程序中使用 AppFabric 作为 session 状态提供程序,我希望它也使用本地缓存。在 configSections 节点之后,我的 web.config 中有以下条目:

<dataCacheClient>
<localCache
isEnabled="true"
sync="TimeoutBased"
objectCount="100000"
ttlValue="300" />
<hosts>
<host name="127.0.0.1" cachePort="22233"/>
</hosts>
</dataCacheClient>

我在 web.config 中还有以下条目作为 system.web 节点的子节点:
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
<providers>
<add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Default" sharedId="DefaultId"/>
</providers>
</sessionState>

不幸的是,如果我向 session 添加一些内容然后在 AppFabric powershell 中运行以下两个命令,我添加到 session 数据中的任何内容都不再存在,这让我相信它没有使用本地缓存:
Stop-CacheCluster
Start-CacheCluster

我还尝试使用以下代码使用 AppFabric 缓存对象,在我启动和停止 CacheCluster 后,不再缓存曾经缓存的对象:
var factory = new DataCacheFactory();
var cache = factory.GetCache("Default");
cache.Put("Key", "Test");

但是,如果我使用以下代码实例化 AppFabric,其中我明确告诉它使用本地缓存而不是依赖 web.config 条目,它会起作用:
var servers = new List<DataCacheServerEndpoint>(1) { new DataCacheServerEndpoint("127.0.0.1", 22233) };
var configuration = new DataCacheFactoryConfiguration {
Servers = servers,
LocalCacheProperties = new DataCacheLocalCacheProperties(100000, new TimeSpan(0, 30, 0), DataCacheLocalCacheInvalidationPolicy.TimeoutBased)
};
var factory = new DataCacheFactory(configuration);
var cache factory.GetCache("StpWebSession");
cache.Put("Key", "Test");

我做错了什么,为什么我的 web.config 条目不能告诉 AppFabric 使用本地缓存?您可以使用 AppFabric 作为 session 状态提供程序并让它使用本地缓存吗?

最佳答案

我在 http://social.msdn.microsoft.com/Forums/en-US/velocity/thread/24e72dab-bb20-47ec-aae2-77423b1d296b 发现了一个小曲子.

基本上,“enableSessionState”默认为“true”,这意味着您需要远程处理所有请求。如果将该属性设置为“只读”,将从本地缓存中检索 session 状态对象。然后,如果本地缓存无效,它将再次转到远程存储。

关于session-state - AppFabric 可以作为 session 状态提供程序并使用本地缓存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3664244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com