我对乌节来说比较新。我知道它使用Autofac进行依赖注入,NHibernate就是ORM。我已经查看了与vanilla Orchard安装一起提供的其他模块,我没有看到任何标准方式来处理对象。我知道Autofac用于管理对象的生命周期,但是如果不深入研究Orchard代码,很难说它是如何完成的。我已经创建了用于查询数据库的模块记录,我特别想知道如何处理该连接。
提前致谢。
答案 0 :(得分:4)
请参阅http://docs.orchardproject.net/Documentation/How-Orchard-works#DependencyInjection
大多数对象实现IDependency,其范围/生命周期是请求。由于实现了ITransientDependency,一些对象的生命周期较短。每次请求时都会重新创建这些对象,并使用它们的范围消失,即使用它们的代码块。通过实现ISingletonDependency,其他一些对象具有与shell相同的生命周期,这与租户相同。那些坚持每个租户一份,只有应用程序池死。