dev*_*oug 6 asp.net dependency-injection autofac orchardcms asp.net-mvc-3
是否可以使用OrchardCMS进行房产注入?
我知道Orchard使用Autofac并且Autofac会执行属性注入,但我需要知道如何为IOrchardServices接口执行属性注入.
我们的团队正在研究Orchard,但我们的代码库都在ASP.NET 4.0 WebForms中,因此我们将继续提供aspx页面,并在时间允许的情况下将这些页面慢慢迁移到Orchard.
有了它,我们需要一种方法来访问OrchardServices对象.我认为这是我必须自己提出来的.有没有人在Orchard中进行过属性注射的好例子?
这非常简单 - 查看源代码是如何使用ILogger接口完成的,并对IOrchardServices. 源文件是Orchard.Framework/Logging/LoggingModule.cs。我想这正是您正在寻找的。
一切都是通过 Autofac 模块(类的实现)完成的Autofac.Module。该类的作用是:
ILogger注册接口(Load方法)的实现和AttachToComponentRegistration方法)。很简单。Autofac 模块是插入 DI 流程的好方法。
只需将该源文件复制到您的自定义 Orchard 模块并更改ILogger为IOrchardServices(当然还有注册的类)就足够了。我提到的类使用工厂模式来创建实例,但是您可以通过new将其更改为简单的对象创建,并摆脱与工厂相关的东西。