对于这个线程中提到的处理缓存的问题,我有一个很难实现的解决方法。
我最近的一次尝试是在using语句中获得一个实例,如建议的那样包装,以阻止缓存被释放:
private static CacheDl _instance;
public static CacheDl Instance
{
get
{
if (_instance == null)
{
using (ExecutionContext.SuppressFlow())
{
_instance = new Cac
我读了几篇ZODB教程,但有一件事我仍然不明白:如何释放已经序列化(并提交)到(比方说) FileStorage的内存?
更具体地说,我希望下面的代码停止消耗我所有的内存:
for i in xrange(bignumber):
iobtree[i]=Bigobject() # Bigobject is about 1Mb
if(i%10==0):
transaction.commit() # or savepoint(True)
transaction.commit()
如何才能做到这一点?是否有可能释放iobtree存储的引用,并将其替换为可按需访问的“弱
我正在使用Castle,并试图使用装饰器模式在TypedFactory上设置一个缓存。它可以正常工作,直到我尝试释放Windsor容器(当关闭应用程序时)。基本上,我的问题是,当我试图释放TypedFactory时,CachedFactory已经被释放了。
下面是我的问题的一个简化示例:
using System;
using System.Collections.Generic;
using System.Threading;
using Castle.Facilities.TypedFactory;
using Castle.MicroKernel.Registration;
using