Как использовать инъекцию свойств в unity и asp.net mvc3? - PullRequest
2 голосов
/ 03 октября 2011

Я хотел бы использовать внедрение свойства в приложении MVC3.Я настроил Unity 2 как DI-контейнер, и все отлично работает с помощью внедрения конструктора, но я не могу понять, как использовать внедрение свойства.Я пометил свойства атрибутом [Dependency], но он не работает.

public class UnityDependencyResolver : IDependencyResolver
{
    IUnityContainer _container;


    public UnityDependencyResolver(IUnityContainer container)
    {
        _container = container;
    }


    public object GetService(Type serviceType)
    {
        try
        {
            return _container.Resolve(serviceType);
        }
        catch (Exception)
        {
            return null;
        }
    }

    public IEnumerable<object> GetServices(Type serviceType)
    {
        try
        {
            return _container.ResolveAll(serviceType);
        }
        catch (Exception)
        {
            return new List<object>();
        }
    }
}

В Global.asax у меня есть следующее:

var container = new UnityContainer(); 

        var section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
        section.Configure(container);

        DependencyResolver.SetResolver(new UnityDependencyResolver(container));

Любая помощь приветствуется.

...