gpt4 book ai didi

c# - DI Autofac 中的 RegisterInstance 和 RegisterType 有什么区别

转载 作者:行者123 更新时间:2023-12-05 02:10:40 25 4
gpt4 key购买 nike

我是 Autofac 的新手,我想了解 Web api 2(.Net 框架)中 RegisterInstance 和 RegisterType 之间的区别。在他的文档中有一个简单的 example

var builder = new ContainerBuilder();


// Register individual components
builder.RegisterInstance(new TaskRepository())
.As<ITaskRepository>();
builder.RegisterType<TaskController>();
builder.Register(c => new LogManager(DateTime.Now))
.As<ILogger>();

// Scan an assembly for components
builder.RegisterAssemblyTypes(myAssembly)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces();

var container = builder.Build();

谁能解释一下?

最佳答案

RegisterInstance 注册一个实例,然后将其用作单例。

RegisterType 将创建和生命周期留给容器。默认通常是按请求创建。

关于c# - DI Autofac 中的 RegisterInstance 和 RegisterType 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58517987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com