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();
Ho un problema con come dovrei registrare il mio "dove server = new List {..} 'per il contenitore Builder. La mia lista dei iChecker passato come parametro ad un ServerChecker. tanto sono stato in grado di risolvere, ma non la lista stessa, ma devo avere al di fuori. l'elenco consueto dei server è molto maggiore.Come registrare un nuovo elenco di <IChecker> Autofac ContainerBuilder
Ho modificato ServerChecker in ServerChecker (IEnumerable Checker, IEnumerable Notificatori). Quindi ha apportato la modifica –
Se la soluzione ha funzionato per te, contrassegnala come risposta. :) –