0

我们有一个大型 ASP.NET MVC 应用程序,我们在其中使用 Autofac 进行 IoC。

我们的项目包含一个名为 StoreInformationService 的服务,该服务可用于检索有关我们商店的各种信息。

StoreInformationService 有一个名为OpeningHours 的属性,它返回一个名为OpeningHours 的类,该类在许多控制器中经常使用。

我想用 Autofac 注册 OpeningHours,这样我们的控制器就可以在他们的构造函数中接受 OpeningHours,而不用关心 StoreInformationService。

public MyController {

    OpeningHours openingHours;

    public MyController(OpeningHours openingHours) {
        this.openingHours = openingHours;
    }

    ...

}

我通过一个相当混乱的 RegistrationSource 实现了这一点,但我觉得必须有一种我忽略的简单方法?

请指出我正确的方向。

4

1 回答 1

2

我想我明白了

        builder.Register<OpeningHours>(c =>
        {
            var cc = c.Resolve<StoreInformationService>();
            return cc.OpeningHours;
        });
于 2013-09-07T03:21:54.600 回答