MVC 3 beta + Dependency Resolver + Unity = got problem

Я пытался использовать Dependency Resolver с Unity, но при создании моего Контроллера возникла проблема. Вот пример контроллера:

public class AccountController : Controller
{
    private readonly ICourseService _courseService;

    public AccountController(ICourseService courseService)
    {
         _courseService = courseService;
    }
}

Но когда контроллер пытается создать - я получил исключение «Для этого объекта не определен конструктор без параметров». Я даже пытаюсь добавить конструктор по умолчанию для этого контроллера, но courseService не создал. Также попробуйте добавить свойство с атрибутом [Dependency] - ничего не произошло. Вот класс Dependency Resolver:

public class UnityDependencyResolver : IDependencyResolver
{
    private readonly IUnityContainer _container;
    public UnityDependencyResolver(IUnityContainer container)
    {
        _container = container;
    }

    public object GetService(Type serviceType)
    {
        return _container.IsRegistered(serviceType) ? _container.Resolve(serviceType) : null;
    }

    public IEnumerable<object> GetServices(Type serviceType)
    {
        return _container.IsRegistered(serviceType) ? _container.ResolveAll(serviceType) : new List<object>();
    }
}

и Global.asax.cs:

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);

        var container = new UnityContainer();
        container.RegisterType<ICourseService, CourseService>();

        DependencyResolver.SetResolver(new UnityDependencyResolver(container));
    }

Кто-нибудь может мне помочь?

5
задан jweyrich 14 January 2011 в 20:50
поделиться