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()と同じではありませんか?
RegisterInstanceを使用したServiceProductDataProviderの手動更新は、Register .SingleInstance()と同じではありませんか?
RegisterInstance
を使用すると、単一のインスタンスをAutoFacに登録できます。
RegisterInstance
とRegisterType
+ SingleInstance
メソッドの違いは、RegisterInstance
メソッドを使用すると、Autofacで作成されていないインスタンスを登録できることです。 =。
しかし、両方のソリューションは、シングルトンをAutofacに登録することになります。
ちなみに、両方の登録は次のコードサンプルでは同等です
var instance = GetInstanceFromSomewhere();
builder.RegisterInstance<IService>(instance);
builder.Register(c => instance).As<IService>().SingleInstance();