繁体   English   中英

DI Autofac中RegisterInstance和RegisterType有什么区别

[英]what the difference between RegisterInstance and RegisterType in DI Autofac

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

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 注册一个实例,然后将其用作 singleton。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM