使用最小配置的Unity

时间:2011-04-02 01:35:45

标签: c# configuration unity-container ioc-container

在工作中,我们经常使用Unity。它的功能非常棒,但您使用的越多,配置文件越多,运行时问题就越多,您为每个测试项目重新创建统一配置的次数就越多。

所以我们最终得到一个巨大的统一配置部分,必须在几个项目中复制,当需要部署时,你最终必须追踪你忘记添加引用的dll,但你只发现这些在运行时。不好玩。

我猜测有人遇到过这个问题而且有一个解决方案。理想情况下,我想弄清楚如何以一种使用约定优于配置的方式配置Unity,并减少运行时问题(即,巨大的配置文件)。有人知道用最小配置实现Unity的好方法吗?

编辑:有一点:我必须坚持只使用Unity。无法真正切换到Ninject等。

2 个答案:

答案 0 :(得分:4)

Unity有一个配置API,因此使用反射编写一些自动配置代码非常容易。

有几个人在这里写了博客:

http://geekswithblogs.net/watsonjon/archive/2009/09/28/unity-convention-based-registration.aspx

http://geekswithblogs.net/brians/archive/2010/07/04/convention-based-registration-extension-for-the-microsoft-unity-ioc-container.aspx

将这个包含在一些框架代码中,您可以重复使用:

http://thedersen.com/2011/02/20/convention-based-configuration-for-microsoft-unity/

这已在Unity discussion board上讨论过。问题是每个人都想要不同的惯例。看看博客文章,写你自己似乎很琐碎。

答案 1 :(得分:3)

在unity 3.0中,您现在可以按惯例进行配置。这篇博文更详细地解释了它:

http://blogs.msdn.com/b/agile/archive/2013/03/12/unity-configuration-registration-by-convention.aspx