【问题标题】:What kind of leak can cause instance leak of TimeBoundedCache.ExpirableItem in WCF?什么样的泄漏会导致 WCF 中 TimeBoundedCache.ExpirableItem 的实例泄漏?
【发布时间】:2011-06-17 09:02:36
【问题描述】:

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

比较是使用两个间隔为1小时的快照进行的,并且在不同时间的比较也表明两种类型的数量一直在增加。除了这两种之外,没有明显的泄漏。

分配堆栈如下所示:

有人知道是什么原因造成的吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • @Louis Rhys 你从来没有跟进。这有助于解释问题吗?
    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多