4
当我使用Unity进行依赖注入时,我对MVC的IDependencyResolver.GetServices的实现有个疑问。应该使用IDependencyResolver.GetServices返回默认(未命名)注册
有几个示例实现可以找到,其中大部分实现了解决尝试解析未注册类型时Unity抛出异常的问题。
Usualy GetServices实现这样的:
IEnumerable<object> IDependencyResolver.GetServices(Type serviceType)
{
try
{
return _container.ResolveAll(serviceType);
}
catch
{
return new List<object>();
}
}
什么是关心我的,我一直无法找到任何确认无论哪种方式,是ResolveAll不返回默认值(未命名)注册。见here。
IDependencyResolver的文档不会做出相同的声明。
有谁知道IDependencyResolver.GetServices应该返回所有已注册的实例还是仅返回已命名的实例(使用Unity的说法)?
当NHibernate使用这种方法时,我得到了奇怪的结果。你有没有得到一个决议? – Rippo 2011-08-16 06:32:38
不是,还有一些其他答案,但看起来他们已被删除。 – 2011-08-26 04:03:36
嗯..问题的一部分可能是您的文章缺少“问题”部分。 – 2012-06-26 13:50:22