什么样的泄漏可能导致WCF中TimeBoundedCache.ExpirableItem的实例泄漏?

时间:2011-06-17 09:02:37

标签: .net wcf memory-leaks memory-profiling

我使用.NET Memory Profiler分析了我的WCF应用程序,发现存在类型为TimeBoundedCache.ExpirableItem和Byte []的实例泄漏:

enter image description here

使用两个快照进行比较,间隔为1小时,不同时间的比较也显示两种类型的数量持续增加。除了这两种类型外,没有明显的泄漏。

分配堆栈如下所示: enter image description here

有人认识到可能导致这种情况的原因吗?

1 个答案:

答案 0 :(得分:0)

WCF安全堆栈中的各种安全令牌缓存实现使用它。我猜你的客户端配置了CacheIssuedTokens功能?

此缓存将通过在后台线程上运行的清除过程进行例行清理,因此您无需担心它会永远泄漏。但是,您需要意识到,如果您的流程中有多个客户端都拥有自己的安全令牌,那么这将随着时间的推移而逐渐增加。