簡體   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