Orchardcms 如何使用autofac容器。解析<&燃气轮机;在果园里

Orchardcms 如何使用autofac容器。解析<&燃气轮机;在果园里,orchardcms,Orchardcms,我知道autofac的最佳实践是尽可能使用构造函数注入,orchard做到了这一点。使用全局容器不是一个好主意,但我只想知道有没有一种方法可以使用container.Resolve在orchard中,或者如何在orchard中获取组件 是的,我知道在orchard中我们可以使用IDependency,但是在Web服务、视图等中,我如何获得容器之类的组件。解析我可以从何处获得容器。这可能会有所帮助:在视图中,您有一个工作上下文具有解析方法 var contentDefinitionManager

我知道autofac的最佳实践是尽可能使用构造函数注入,orchard做到了这一点。使用全局容器不是一个好主意,但我只想知道有没有一种方法可以使用container.Resolve在orchard中,或者如何在orchard中获取组件


是的,我知道在orchard中我们可以使用IDependency,但是在Web服务、视图等中,我如何获得容器之类的组件。解析我可以从何处获得容器。

这可能会有所帮助:

在视图中,您有一个
工作上下文
具有
解析
方法

var contentDefinitionManager = WorkContext.Resolve<IContentDefinitionManager>();
var contentDefinitionManager=WorkContext.Resolve();

我有一个类似的问题,我需要在我的用户部分override cshtml中检查权限。

如果您发布一些带有注释的示例代码来说明您的意思,您的问题可能会更清楚一些。在我看来,您可能希望使用容器。在存储库中解析,或者在控制器中解析,然后从那里推出一个视图或一些JSON。但是如果没有一些代码作为参考,就很难就它进行对话。你研究过Orchard源代码和示例了吗?嗨,Robert,我检查了控制器中的Orchard源代码,我可以很容易地在构造函数注入公共BlogController下面获得类似blogService的代码(IOrchardServices服务,IBlogService blogService…但是在asp.net mvc视图中,我可以使用代码var container=builder.Build()获取blogServiceOrchard吗;在果园中,但没有共享容器,因此如何使用容器。Resolve@ethan这个方法是一个扩展方法吗?如果是,你包括了哪个库来让它工作?嗨,伙计,thks,我想我在检查orchard源代码后得到了答案,我可以在视图中使用代码Html.Resolve().GetAuthenticatedUser()。