【问题标题】:WCF memory usageWCF 内存使用情况
【发布时间】:2011-01-13 21:10:58
【问题描述】:

我有一个 WCF 服务托管在 IIS 中,使用 net.tcp 绑定并配置为 PerCall 实例。出于测试目的,我有一个完全不执行任何操作的操作。

每次客户端连接并调用操作时,w3wp.exe 进程的内存使用量都会增加,并且在客户端关闭连接后,内存使用量不会减少。经过反复调用,内存已经从最初的 20MB 增加到 500MB 甚至更多。

这是正常行为吗?

【问题讨论】:

    标签: wcf memory


    【解决方案1】:

    当您使用 PerCall Instance Context 模式调用服务时,应在方法返回后释放内存。由于在您的方案中没有发生这种情况,因此请尝试在您的服务上实现 IDisposable 接口,以便能够显式控制您的服务的处置。还要确保在使用后立即关闭客户端上的代理连接。

    【讨论】:

    • 是的,我正在关闭代理连接。鉴于该操作实际上没有代码,我应该在 dispose 方法中放入什么?
    • 好的,在这种情况下你没有什么可处置的。您是否使用内存分析器分析了您的应用程序?...这可以让您清楚地了解内存泄漏在哪里。
    • 在没有代码的情况下有什么要分析的?我们在解决微软的问题吗?是否存在可能的配置问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 2012-05-30
    • 2021-02-26
    • 2010-10-24
    • 2015-06-14
    • 2015-01-06
    • 1970-01-01
    相关资源
    最近更新 更多