我在注入控制器的类中有一些非托管资源,一旦控制器被释放,我需要释放这些资源(否则我会出现内存泄漏)。我查看了 IUnityContainer 并没有找到允许我这样做的 Release (或类似)方法。
经过一些试验和错误(和阅读),在我看来,Unity 并没有跟踪它创建的类型的情况。这与 Windsor 不同,我可以调用 Release,整个对象图将被释放。这实际上是首先拥有容器的要点之一(对象生命周期管理)。我不需要直接调用 Dispose,容器应该能够以正确的顺序/对象为我执行此操作。
所以,我的问题是,我怎样才能告诉 Unity 不再需要某个对象并且应该处置该对象?
如果没有办法做到这一点,有没有办法将生命周期更改为每个 Web 请求?
请注意,更改容器不是一种选择。很遗憾 :(