2012-02-23 63 views
0

我创建了一个controller factory并在代码中注册了我的类型。我能做到以下几点:Unity - 如何在配置文件中启用setter注入?

public class HomeController : Controller 
{ 
    public MasterEntities DbContext { get { return Container.Resolve<MasterEntities>(); } 
    } 

    public ActionResult Index() 
    { 
     //DbContext can be used here properly... 
    } 
} 

但是我想在二传手注射,而不必调用Container.Resolve<TypeName>()明确的财产。 Preferrable不使用属性或在代码中的一些配置...

public MasterEntities DbContext { get; set; } 

如何这在我.config文件进行配置?或者这是否需要在代码中使用属性或配置?

回答

1
<register type="HomeController"> 
    <property name="DbContext" /> 
</register> 

应该做的伎俩。

+0

我明白,但这可以从“DbContext”的角度来“一般”完成。因此,我创建的每个控制器都自动具有'DbContext'注入,如果它具有该属性? – ReFocus 2012-02-24 00:25:58

+0

不,根据具体的类型配置属性。 – 2012-02-25 19:41:03

相关问题