2

我想在 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));

任何帮助表示赞赏。

4

0 回答 0