Autofac RegisterInstance与SingleInstance
IProductRepositoryProxy ProductDataServiceProviderInstance = new ServiceProductDataProvider(); builder.RegisterInstance(ProductDataServiceProviderInstance).As();
VS
builder.RegisterType().As().InstancePerRequest();
我在这里看到了前雇员的代码,并想知道这个人是否想要注册一个.SingleInstance()行为。
builder.RegisterType().As().SingleInstance();
使用RegisterInstance的ServiceProductDataProvider的手动新增与Register .SingleInstance()不同吗?
使用RegisterInstance的ServiceProductDataProvider的手动新增与Register .SingleInstance()不同吗?
RegisterInstance
允许您在AutoFac中注册单个实例。
RegisterInstance
和RegisterType
+ SingleInstance
方法之间的区别在于RegisterInstance
方法允许您注册非Autofac构建的实例。
但这两种解决方案都会导致在Autofac中注册一个单例。
顺便说一句,两个注册在以下代码示例中是等效的
var instance = GetInstanceFromSomewhere(); builder.RegisterInstance(instance); builder.Register(c => instance).As ().SingleInstance();