您好,
我发现了一个有趣的问题。我试图从缓存中获取一个对象。我连接到AppFabric很好,为了证明我这样做,我把一个项目放到默认缓存中。
I've found an interesting issue. I am trying to get an object from cache. I connect to the AppFabric just fine, to prove that I do, I put and get an item into the default cache.
当我尝试从命名缓存中获取某些东西时,它失败了以下例外。正如我在Get-Cache命令中看到的那样存在命名高速缓存,cachestatisitcs声明它没有任何内容。缓存中的任何内容都不应导致此异常。
When I try to get something from a named cache, it fails with the exception below. The Named Cache exists as I can see in the Get-Cache command, the cachestatisitcs state that it has nothing in there. Nothing in the cache should not result in this exception.
我唯一可以得出的结论是缓存已损坏或此缓存所在的主机已损坏。我知道我可以通过删除和创建一个新缓存来解决这个错误,因为我已经为另一个缓存做了这个。
The only thing I can conclude is that the either the cache is corrupt or the host that this cache is on, is corrupt. I know I can move past this error by removing and creating a new cache, as I've done it for another cache.
我想知道为什么它是腐败的,它是怎么来的损坏以及可以监视什么以查看它是否已损坏。
I want to know why it is corrupt, how it got to be corrupt and what can be monitored to see if it is corrupt.
Microsoft.ApplicationServer.Caching.DataCacheException:ErrorCode< ERRCA0017> ;:SubStatus< ES0001>:存在暂时性故障。请稍后重试。 在Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBodyrespBody) 在Microsoft.ApplicationServer.Caching.DataCache.InternalGet(String key,DataCacheItemVersion& version,String region) 在Microsoft.ApplicationServer.Caching.DataCache.Get(String key)在C:\ PolicyAdmin \Projects \MultiThreading\ConsoleApplication1
Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCA0017>:SubStatus<ES0001>:There is a temporary failure. Please retry later. at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBodyrespBody) at Microsoft.ApplicationServer.Caching.DataCache.InternalGet(String key, DataCacheItemVersion& version, String region) at Microsoft.ApplicationServer.Caching.DataCache.Get(String key) at TargetCorp.Pharmacy.Common.Cache.VelocityLookAsideCache`2.LoadEntityFromCache(TPrimaryIndex primaryIndex) in C:\PolicyAdmin\Projects\MultiThreading\ConsoleApplication1
谢谢
推荐答案
你有多少台机器?在集群?一段时间后这个错误会消失吗?当存在间歇性连接问题或高服务器负载时,我们通常会看到它。您可以连接到默认缓存,因为请求由另一个节点提供服务。
How many machines do you have in the cluster? Does this error go away after some time? We generally see it when there are intermittent connectivity issues, or high server load. It is possible that you are able to connect to the default cache because your request was being served by a different node.
如果可以监控性能计数器(AppFabric缓存:主机以及AppFabric缓存:缓存服务器上的客户端请求,数据大小等),它可以提供更多有关正在发生的事情的信息。
If you can monitor the performance counters (AppFabric caching:hostas well asAppFabric caching:Cache for client requests, data size etc) on the servers, it can provide more insight on what's happening.
此外,您的方案是什么?您是否使用高可用性/通知/命名区域/标签/本地缓存等功能?
Also, what's your scenario? Do you use features like high-availability/notifications/named regions/tags/local cache ?
更多推荐
损坏的缓存或缓存主机?
发布评论