StructureMap删除所有已处置的对象引用但保留配置

时间:2010-04-15 09:23:11

标签: memory structuremap profile memory-leaks lifecycle

Hy guys,

我目前正在尝试为StructureMap实现一些自定义ILifecycles。 根据事件,生命周期与所有对象相关联应从生命周期中删除。

这是对象的注册。 我从我的经理那里获得了一个生命周期的插件类型和具体类型,使用范围来确定生命周期。

registry.For(pluginType)
              .LifecycleIs(_lifecycleManager.GetLifecycle(pluginType, instance.GetType(), lifecycleScope))
              .Use(instance);

我正在使用LifecycleManager来保持对象的知识,因为我需要检查对象是否已经存在,只有在我传递createIfMissing = true时才创建/返回它。

        // determine if an instance already exists for the plugin type
        bool doesInstanceExist = _lifecycleManager.ContainsInstance(pluginType);

        if (createIfMissing)
        {
           // create a new instance or get an already existing one
           container = DependencyInjectionContainer.GetInstance<T>();
        }
        else
        {
           // only get an existing instance
           if (doesInstanceExist)
           {
              container = DependencyInjectionContainer.GetInstance<T>();
           }
        }

在对象完成其工作或触发相关事件后,应删除并处理对象实例。 我的问题是,我没有找到一种方法来删除StructureMap.Profile类所持有的引用,它们总是一直闲逛。

如何删除对象的所有引用但保留配置?

0 个答案:

没有答案