IProductRepositoryProxy ProductDataServiceProviderInstance = new ServiceProductDataProvider();
builder.RegisterInstance(ProductDataServiceProviderInstance).As<IProductRepositoryProxy>();
VS
builder.RegisterType<ServiceProductDataProvider>().As<IProductRepositoryProxy>().InstancePerRequest();
我在这里看到了一段代码,想知道这个人是否想要注册 .SingleInstance() 行为。
builder.RegisterType<ServiceProductDataProvider>().As<IProductRepositoryProxy>().SingleInstance();
使用RegisterInstance手动更新ServiceProductDataProvider,是否等同于使用Register.SingleInstance()进行注册?
RegisterType
+SingleInstance
解决方案,您可以在 Autofac 中注册一个单例(就像其他解决方案一样),但您不必提供实例,Autofac 将在第一次需要时构建它,而对于RegisterInstance
,Autofac 不会创建实例,它必须在注册过程中创建。 - Cyril Durand