首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >速度CTP2严重记忆故障

速度CTP2严重记忆故障
EN

Stack Overflow用户
提问于 2009-01-11 04:38:50
回答 2查看 428关注 0票数 0

当您创建缓存工厂的实例,然后不再使用它时,在创建对象期间使用的内存不会被释放。这将对所有web应用程序或可能多次创建恶搞的场景产生重大影响。其症状将是异常高的内存,使用一个进程,在IIS中,这很可能导致您的应用程序不得不更频繁地循环,因为它会更快地溢出其分配的内存。

下面的代码将显示大约500 of的增长,是的,我指的是内存使用的MegaBytes!

要复制,请将以下代码放入应用程序中:

代码语言:javascript
复制
Dim CacheFactory1 As CacheFactory = New CacheFactory()
For i As Int32 = 1 To 1 * (10 ^ 4)
    CacheFactory1 = New CacheFactory()
    CacheFactory1 = Nothing
Next

解决这一问题的方法只有两个。

  1. 速度小组修复了bug (我肯定他们会)
  2. ,您需要在应用程序中的静态方法上使用相同的缓存工厂对象,并且每次想使用缓存时都要引用它。(在我看来,这是可行的,但不是最佳的。)

我还有一个缓存范围,可以用来包装您的缓存方法,并且很快就会在codeplex上发布。您可以将它封装在缓存方法周围,就像事务范围一样,它将为您管理锁定和连接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-16 19:50:07

我已经为解决这个问题构建了一个范围提供程序。你可以在这里找到密码。

http://www.codeplex.com/CacheScope

票数 0
EN

Stack Overflow用户

发布于 2009-01-11 04:40:55

那么问题在哪里呢?您应该将错误归档,而不是在这里发布,因为速度小组非常可能监视Microsoft是否存在bug。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/432364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档