Frage

Ich habe ein C#-DLL-Projekt, für das ich die Laufzeiteinstellungen in einer externen XML-Datei speichern muss, und diese DLL wird in einer ASP.NET/ASP.NET MVC-Anwendung verwendet, für die ich auch die Laufzeiteinstellungen in einer speichern muss externe Datei.

Welcher IoC-Container kann zum Erstellen eines Objekts mit den Laufzeiteinstellungen verwendet werden, die aus einer bestimmten externen Datei (oder app.config/web.config) geladen werden, und funktioniert auch für Webanwendungen, die mit mittlerer Vertrauenswürdigkeit ausgeführt werden?Für jede Anleitung/Anleitung wäre ich sehr dankbar.

Bisher habe ich nur diese Artikel gefunden:

Aktualisieren

Ich sende E-Mails von meiner DLL an eine variable Anzahl von SMTP-Servern, basierend auf dem aktuellen Datensatztyp.Für Typ A verwende ich einen bestimmten SMTP-Server+Port, für Typ B verwende ich einen alternativen Satz von Server+Port-Werten.Natürlich möchte ich diese Werte nach der Bereitstellung ändern können, deshalb speichere ich sie in einer XML-Datei.

Wenn ich die SMTP-Einstellungen als SMTPConfiguration-Klasse mit zwei Eigenschaften speichere (SMTPServer als String und SMTPPort als Int32), ist es dann möglich, das erforderliche Objekt basierend auf dem angegebenen Datensatztyp aus einem IoC-Container zurückzugeben, und wie geht das am besten? die Laufzeiteinstellungen lesen, um das zurückgegebene Objekt zu erstellen?

Update2

Nehmen wir an, ich speichere in der Konfigurationsdatei die folgenden Parameter:ASMTPServer, BSMTPServer, ASMTPPort, BSMTPPort.Ich kann Castle DictionaryAdapter verwenden, um alle diese Einstellungen als Eigenschaften einer AppConfiguration-Klasse zu lesen.

Was ist die empfohlene Methode, um anzugeben, dass die erforderliche SMTPConfiguration-Klasse ASMTPServer- und ASMTPPort-Werte verwenden soll, wenn ich einen Datensatz vom Typ A als Parameter verwende (und BSMTPServer- und BSMTPPort-Werte verwenden soll, wenn ich einen Datensatz vom Typ B als Parameter verwende). ) ?Wie kann ich außerdem angeben, dass die AppConfiguration in diesem Prozess erforderlich ist?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top