依赖注入。为 ASP.NET vNext 做准备

Posted

技术标签:

【中文标题】依赖注入。为 ASP.NET vNext 做准备【英文标题】:Dependency Injection. Preparing for ASP.NET vNext 【发布时间】:2014-11-19 12:29:40 【问题描述】:

我们目前需要在 C# 中实现 IoC 容器,因为在我们项目的最后几周,依赖项显着增长。

除了构造函数注入和(很少)属性注入之外,我们不会(至少目前)使用 IoC 的所有功能。

我在default DI in ASP.NET vNext 上玩了一会儿,这对我们来说绰绰有余。

问题是,由于 vNext 还没有准备好投入生产,我正在寻找一个 IoC 容器,它将使用“相同的语言”,也就是最相似的语言。

我没有在网上找到这些信息,而且我没有经验或知识来自己评估它们。

您认为哪个容器最适合 a) ioc world 的初学者,b) 类似于 vNext otb ioc。

【问题讨论】:

@Steven 对不起,你是对的。我应该在那里提到 asp.net 或 c#。就是这样。 几乎任何 DI 容器都可以用于构造函数和属性注入,因此您可以自行选择;我认为这个问题的答案将主要基于意见。我个人使用 Castle Windsor,但您可能更喜欢 Ninject、StructureMap、Autofac、Unity、Funq、Munq 或其他几个可用的之一! 目前有用于 StructureMap、AutoFac、Ninject、Windsor 和 Unity 的适配器。与其中任何一个一起使用应该可以很容易地将您现有的注册插入到内置 DI 的 vNext 中。 @AndersNS 这就是我所要求的。谢谢你。介意添加作为答案,以便我接受吗? 我一直在使用 Unity 和 .net mvc,对此我很满意。 nuget.org/packages/Unity 【参考方案1】:

目前有用于 StructureMap、AutoFac、Ninject、Windsor 和 Unity 的适配器。与其中任何一个一起使用应该可以很容易地将您现有的注册插入到内置 DI 的 vNext 中。

查看 aspnet 依赖注入 https://github.com/aspnet/DependencyInjection/tree/dev/src 的存储库

【讨论】:

以上是关于依赖注入。为 ASP.NET vNext 做准备的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Boilerplate v5升级到Abp vNext的改动

ASP.NET Boilerplate v5升级到Abp vNext的改动

ASP.NET VNext 完整 CLR 中的 System.IO.Compression

无法在 ASP.NET vNext 中启动我的静态文件托管服务器

ASP.NET Core 依赖注入基本用法

ASP.NET Core 6框架揭秘实例演示[05]:依赖注入基本编程模式