加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何让Autofac在Orchard CMS中执行属性注入

发布时间:2020-12-16 03:52:15 所属栏目:asp.Net 来源:网络整理
导读:是否可以使用OrchardCMS进行房产注入? 我知道Orchard使用Autofac并且Autofac会执行属性注入,但我需要知道如何为IOrchardServices接口执行属性注入. 我们的团队正在研究Orchard,但我们的代码库都在ASP.NET 4.0 WebForms中,因此我们将继续提供aspx页面,并在时
是否可以使用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将其更改为简单的对象创建并删除与工厂相关的事物.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读