Autofac:如何获取考虑到所有父级范围的所有注册信息?
创始人
2024-11-12 13:00:13
0

您可以使用Autofac的IComponentContext接口来获取所有考虑到所有父级范围的注册信息。下面是一个示例代码:

using System;
using Autofac;

public class Program
{
    public static void Main()
    {
        var containerBuilder = new ContainerBuilder();
        containerBuilder.RegisterType().As();
        containerBuilder.RegisterType().As();

        var container = containerBuilder.Build();

        using (var scope = container.BeginLifetimeScope())
        {
            var componentContext = scope.Resolve();
            var serviceRegistrations = componentContext.ComponentRegistry.RegistrationsFor(new TypedService(typeof(IService)));

            foreach (var registration in serviceRegistrations)
            {
                Console.WriteLine(registration.Activator.LimitType);
            }
        }
    }
}

public interface IService
{
}

public class Service1 : IService
{
}

public class Service2 : IService
{
}

在上面的示例中,我们首先创建了一个ContainerBuilder并注册了两个服务(Service1Service2)实现了IService接口。然后我们使用containerBuilder.Build()创建了一个IContainer实例。接下来,我们使用container.BeginLifetimeScope()创建了一个新的生命周期范围,并在使用完后自动释放。在生命周期范围内,我们可以使用scope.Resolve()来获取IComponentContext实例。然后,我们使用componentContext.ComponentRegistry.RegistrationsFor(new TypedService(typeof(IService)))方法来获取所有注册了IService类型的组件。最后,我们使用foreach循环遍历所有注册信息,并打印出注册的类型。

运行上述代码,输出将是:

Service1
Service2

这证明我们成功获取了考虑到所有父级范围的所有注册信息。

相关内容

热门资讯

黑科技安卓版!哈糖大菠萝切牌规... 黑科技安卓版!哈糖大菠萝切牌规律(德州辅助神器软件)固有存在有挂(有挂教学)-哔哩哔哩您好,德州辅助...
黑科技ai!云扑克cloudp... 黑科技ai!云扑克cloudpoker可以下载(德扑ai智能机器人线上代打)固有是有挂(有挂规律)-...
黑科技规律!红龙扑克是有问题(... 黑科技规律!红龙扑克是有问题(德扑ai助手软件)原来有挂(有挂透明挂)-哔哩哔哩1、超多福利:超高返...
黑科技美元局!aapoker辅... 黑科技美元局!aapoker辅助工具(德扑ai助手软件)一向是有挂(证实有挂)-哔哩哔哩1、德扑ai...
黑科技最新!微扑克有透视挂(微... 黑科技最新!微扑克有透视挂(微扑克有挂么)都是有挂(真的有挂)-哔哩哔哩;无聊就玩这款微扑克有挂么真...
黑科技好友!扑克之城可以那假(... 黑科技好友!扑克之城可以那假(德扑ai智能系统)竟然真的是有挂(有挂解密)-哔哩哔哩;致您一封信;亲...
黑科技代打!扑克时间辅助软件(... 黑科技代打!扑克时间辅助软件(德州ai辅助神器软件)好像真的是有挂(有人有挂)-哔哩哔哩;一、德州a...
黑科技插件!红龙扑克机制(德州... 黑科技插件!红龙扑克机制(德州ai辅助)都是有挂(真实有挂)-哔哩哔哩1、这是跨平台的德州ai辅助黑...
黑科技新版!gg扑克发牌机制测... 黑科技新版!gg扑克发牌机制测试(微扑克如何让系统发好牌)一向是真的有挂(有挂工具)-哔哩哔哩1、每...
黑科技安装!pokerwoel... 黑科技安装!pokerwoeld安卓下载(aapoker真的有猫腻吗)果然真的是有挂(有挂技巧)-哔...