OpenRasta中的依赖注入器中是否有一个机制可以删除创建的对象的实例?无论依赖生命周期如何。
我试图查看来源,但无法直接找到任何拆除。似乎也没有实施IDisposable。
更新我主要是寻找处理单身人士,所以我不会在openrasta-core项目上开票。目前我跟踪我自己的库中的单例实例(当前不知道如何直接访问OpenRasta中的单例),以便在应用程序关闭时访问。
答案 0 :(得分:2)
处理是一整套痛苦的实施权。每个请求对象具有已知的对象生存期(实现OR DI接口的容器具有知道何时处置该范围的钩子),在关闭主机时容器将处置静态(自2.1.1开始)(这意味着几乎从来没有为asp.net,每当你关闭自托管服务器/在mem托管中)和瞬态我们都不知道如何做到这一点:如果你不跟踪,你怎么知道什么时候必须处理它,如果你这样做意味着它不会被释放,那么这一切都很成问题。
所以内部DI容器根本不会处理任何东西,虽然我们可以在容器配置和请求关闭时按请求添加处理单例,我想这非常有用。随意在openrasta-core项目中添加github票证。
或者,使用现有的IoC容器代替现有容器。有些人还添加了自定义贡献者来自行清理,而无需使用外部容器。
的Seb