使用带有autofac功能的委托

时间:2014-04-10 13:34:06

标签: dependency-injection delegates autofac cpu-usage

我使用autofac来解决依赖性:

      builder.Register<IConfigurationFactory>(c =>
            new ConfigurationFactory(
                c.Resolve<ICacheManager>(),
                c.Resolve<IConfigurationManagerWrapper>(),
                c.Resolve<IDbContextResolver>(),
                "Registration"))
            .SingleInstance();

但是这个声明有CPU问题: enter image description here

如何使用func delgator进行依赖解析以改善性能?

此致

2 个答案:

答案 0 :(得分:0)

首先,我建议您将该语句分解为部分,以便您可以看到每个部分的性能:

builder.Register<IConfigurationFactory>(c =>
    {
        var cm = c.Resolve<ICacheManager>();
        var cmw = c.Resolve<IConfigurationManagerWrapper>();
        var dcr = c.Resolve<IDbContextResolver>()

        return new ConfigurationFactory(cm, cmw, dcr, "Registration");
    })
        .SingleInstance();

重新发布并查看哪些陈述占用的时间最多。

答案 1 :(得分:0)

我现在重新编制,我得到了这个结果:  enter image description here