C# Autofac中的两个组件注册之间有什么区别? containerBuilder.RegisterInstance(新的PostRepository()).As(); containerBuilder.RegisterType().As();

C# Autofac中的两个组件注册之间有什么区别? containerBuilder.RegisterInstance(新的PostRepository()).As(); containerBuilder.RegisterType().As();,c#,autofac,asp.net-mvc-5,asp.net-web-api2,C#,Autofac,Asp.net Mvc 5,Asp.net Web Api2,我一直在浏览web,试图将其集成到我的web Api应用程序中。我不断遇到上述组件注册 这两种类型的注册是否相同?如果不是,一种注册是否优于另一种注册?以何种方式 我读过的帖子 使用RegisterInstance您将创建一个PostRepository,因此无论您在哪里请求IPostRepository都会得到相同的实例。使用此RegisterType().As()每次请求IPostRepository时,您都会得到一个不同的PostRepository实例。因此,没有一个更好,他们正在

我一直在浏览web,试图将其集成到我的web Api应用程序中。我不断遇到上述组件注册

这两种类型的注册是否相同?如果不是,一种注册是否优于另一种注册?以何种方式

我读过的帖子


使用
RegisterInstance
您将创建一个
PostRepository
,因此无论您在哪里请求
IPostRepository
都会得到相同的实例。使用此
RegisterType().As()
每次请求
IPostRepository
时,您都会得到一个不同的
PostRepository
实例。因此,没有一个更好,他们正在做完全不同的事情,决定使用哪一个只取决于你的要求…@nemesv这就是答案。你应该这样贴。
containerBuilder.RegisterInstance(new PostRepository()).As<IPostRepository>();

containerBuilder.RegisterType<PostRepository>().As<IPostRepository>();