var servers = new List<IChecker> {
//Server1
new DatabaseSystem { ServerName = "ANTIVIRUS" },
new DatabaseSizes { ServerName = "ANTIVIRUS"},
new DiskBackup { ServerName = "ANTIVIRUS"},
new SqlServerEventLog { ServerName="ANTIVIRUS"},
new DiskSystem { ServerName="ANTIVIRUS"},
//Server1
new DatabaseSystem { ServerName="SEJKG-S-DB01" },
new DatabaseSizes { ServerName = "SEJKG-S-DB01"},
new DiskBackup { ServerName = "SEJKG-S-DB01"},
new SqlServerEventLog { ServerName="SEJKG-S-DB01"},
new DiskSystem { ServerName="SEJKG-S-DB01"},
};
var builder = new ContainerBuilder();
builder.RegisterInstance(notifiers).As<IList<INotifier>>();
builder.RegisterInstance(servers).As<IList<IChecker>>();
builder.Register(c => new ServerChecker(c.Resolve<IList<IChecker>>(), c.Resolve<IList<INotifier>>()));
return builder.Build();
मैं कैसे मैं अपने "जहां सर्वर = नई सूची {..} 'कंटेनर बिल्डर रजिस्टर करना चाहिए के साथ एक समस्या है। मेरे iChecker की सूची एक पैरामीटर के रूप में पारित एक ServerChecker करने के लिए। इतना मैं हल करने के लिए सक्षम किया गया है, लेकिन नहीं ही सूची है, लेकिन मैं बाहर होना आवश्यक है। सर्वर की सामान्य सूची बहुत अधिक है।Autofac ContainerBuilder के लिए एक नया सूची <IChecker> रजिस्टर करने के लिए कैसे
मैंने सर्वर चेकर को सर्वर चेकर में बदल दिया (आईनेमेरेबल चेकर, आईनेमेरेबल नोटिफ़ायर)। फिर परिवर्तन
builder.RegisterInstance(new DiskSystem { ServerName = "SEFWG-FLEFSH" }).As(); builder.RegisterType();
–यदि समाधान आपके लिए काम करता है, तो कृपया इसे उत्तर के रूप में चिह्नित करें। :) –