显式属性注入打破了Unity中的其他属性

时间:2010-08-26 13:32:39

标签: c# .net dependency-injection unity-container

除了显式指定的属性外,依赖注入将停止对所有属性起作用。

控制器:

public class MyController : Controller
{
    [Dependency]
    public int RefreshInterval { get; set; }
    [Dependency]
    public IReportService ReportService { get; set;}

的Web.config:

<register type="My.Web.Controllers.MyController, My.Web, Version=1.0.0.0, Culture=neutral">
                <property name="RefreshInterval" value="5000"></property> <!-- This one breaks other properties, injected by default -->
            </register>

<register type="My.Model.IReportService, My.Model, Version=1.0.0.0, Culture=neutral"
                            mapTo="My.Model.ReportService, My.Model, Version=1.0.0.0, Culture=neutral">
            </register>

现在我已经明确指定了一个属性,我是否也必须明确指定所有属性?有没有办法让其他属性默认注入?

1 个答案:

答案 0 :(得分:0)

API或配置文件会覆盖属性。这就是它的工作方式。否则就无法关闭基于属性的注射。