Memiliki solusi dengan dua proyek Saya mengalami masalah DI. Solusinya terdiri dari perpustakaan kelas dan aplikasi WebApi2 (yang menggunakan perpustakaan kelas dan mengekspos api).
Saya telah mendefinisikan Autofac.module di perpustakaan kelas yang mengatur semua DI dalam proyek.
Dalam proyek WebApi2 saya membuat wadah DI (menggunakan Autofac.WebApi2) dan memuat modul dari perpustakaan kelas. Sekarang ketika pengontrol api di proyek WepApi2 meminta layanan di perpustakaan kelas, mereka dibuat dengan semua dependensinya, semuanya berfungsi dengan baik!
Masalahnya adalah saya sekarang di perpustakaan kelas perlu membuat instance beberapa kelas dari string (yang akhirnya berasal dari DB), sejauh yang saya tahu satu-satunya cara untuk melakukan ini adalah dengan menggunakan refleksi, jadi saya melakukan seperti ini:
var ruleType = Type.GetType(rule.RuleImplementation.Implementation);
var rule = (IRule)Activator.CreateInstance(ruleType,param1,param2);
Masalahnya adalah kelas yang mengimplementasikan antarmuka IRule juga memiliki ketergantungan yang perlu diselesaikan, dan inilah yang membuat saya menggedor-gedor keyboard saya untuk sementara waktu sekarang.
Apakah mungkin menggunakan refleksi dan autoFac secara bersamaan untuk membuat instance objek? Saya masih harus bisa meneruskan parameter saya ke objek juga.
... Atau adakah cara untuk mengakses wadah (yang dibuat di rakitan webApi2) dan menggunakannya untuk mengatasinya? Saya kira ini akan menjadi semacam pola layanan yang saya yakini dianggap sebagai anti pola.
Bagaimana cara melanjutkannya? Segala masukan sangat kami hargai.