Я хотел бы использовать Unity в качестве контейнера IoC для приложения ASP.NET MVC 3, но у меня возникли проблемы с моим классом UnityDependecyResolver
. В настоящее время это выглядит так (скопировано откуда-то в Интернете, так как я не думаю, что сам Unity поставляется с этим):
public class UnityDependencyResolver : IDependencyResolver
{
readonly IUnityContainer _container;
public UnityDependencyResolver(IUnityContainer container)
{
this._container = container;
}
public object GetService(Type serviceType)
{
try
{
return _container.Resolve(serviceType);
}
catch
{
return null;
}
}
public IEnumerable<object> GetServices(Type serviceType)
{
try
{
return _container.ResolveAll(serviceType);
}
catch
{
return new List<object>();
}
}
}
Тем не менее, я получаю эту ошибку времени выполнения при попытке посетить любой контроллер:
IControllerFactory 'System.Web.Mvc.DefaultControllerFactory' не вернул контроллер для имени 'Account'.
В этой статье StructureMap предлагается, чтобы я изменил метод GetService
, однако я довольно новичок в MVC и Unity и не уверен, как именно он должен выглядеть.