Apakah mungkin untuk mendaftarkan layanan pada saat run-time, artinya setelah ContainerBuilder
dibuat dan Container
telah dibuat (dan ContainerBuilder
dibuang)?
ioc-container
autofac
Paul Knopf
sumber
sumber
Jawaban:
Ya Anda bisa, menggunakan
Update
metode padaContainerBuilder
:sumber
Karena ContainerBuilder.Update sudah tidak digunakan lagi, rekomendasi baru adalah menggunakan cakupan seumur hidup turunan.
Menambahkan Registrasi ke Lifetime Scope
Autofac memungkinkan Anda menambahkan registrasi "dengan cepat" saat Anda membuat cakupan seumur hidup. Ini dapat membantu Anda saat Anda perlu melakukan semacam penggantian pendaftaran terbatas "pengelasan titik" atau jika Anda secara umum hanya memerlukan beberapa hal tambahan dalam cakupan yang tidak ingin Anda daftarkan secara global. Anda melakukan ini dengan meneruskan lambda ke BeginLifetimeScope () yang mengambil ContainerBuilder dan menambahkan registrasi.
Bekerja dengan Lingkup Seumur Hidup
sumber