.net 4.7中的依赖注入?

时间:2019-02-08 01:00:02

标签: asp.net-mvc dependency-injection

我对DI有哪些集成选项感到有些困惑。我发现对于.net core(对于我的特定项目)来说,这非常简单,但是我不需要构建跨平台应用程序,也看不到使用core的好处。但是,看起来.net框架应用程序似乎仍使用Global.asax且没有Startup.cs进行安装,因此这是否意味着.net framework 4.7没有集成的DI选项?我是否仍需要获得第三方解决方案,或者是否可以在.net框架项目中使用与核心项目中相同的DI工作流?

2 个答案:

答案 0 :(得分:1)

在经典的asp.net中默认不集成依赖项注入,您需要添加一个nuget包来处理DI(仅默认情况下集成在asp.net核心中)。

答案 1 :(得分:0)

编辑:即使我按照下面的说明找到了解决方法,但最终还是选择了Autofac,因为我没有意识到Microsoft的解决方案仅支持构造函数注入,而不支持属性注入。

我在这里找到了有关操作方法的说明。我知道链接答案不好,但是我没有时间做更多的事情了。如果其他人想提供完整说明的答案,我会标记它。

https://scottdorman.github.io/2016/03/17/integrating-asp.net-core-dependency-injection-in-mvc-4/

还请注意,如果您尚未使用Owin,则不需要这样做。您可以在Global.asax的Application_Start方法中进行相同的设置。唯一需要做的就是更改,当它在声明中引用了Startup类,从而反射地获取所有Controller类时,您需要将其更改为代码所在的类(或您的代码中的任何其他类)组装)。