Laden...

[gelöst] Dynamisch DLLs nachladen im laufenden Betrieb

Erstellt von mosspower vor 15 Jahren Letzter Beitrag vor 15 Jahren 767 Views
mosspower Themenstarter:in
456 Beiträge seit 2007
vor 15 Jahren
[gelöst] Dynamisch DLLs nachladen im laufenden Betrieb

Hallo "Kollegen",

gibt es eine Möglichkeit, Quellcode, der später entwickelt wurde in ein System im laufenden Betrieb einzuspielen?

Mal ein Beispiel. Es läuft ein Service. Hier laufen verschiedene Threads, die immer eine, nennen wir sie mal Hauptaufgabe, durchführen. Nun ist der Service so programmiert, dass er z.B. in einem XML-File nachsehen soll, welche "Vorbereitungsklasse" er aufrufen soll und dann erst mit der "Hauptaufgabe" beginnt. Nach diesem Prozess, ruft er "Nachräumarbeiten" auf, die ebenfalls konfiguriert werden können. Das bedeutet, dass die Hauptaufgabe immer ausgeführt wird und je nach Anforderung eine Klasse für Vorarbeiten und Nacharbeiten aufgerufen werden kann. Nun ist das ja kein Problem umzusetzen, wenn man das Programm als ganzes neu kompiliert - die Frage ist, ob sowas auch geht, ohne den Service (oder Hauptprogramm) neu zu compilieren (oder sogar nicht mal neu zu starten).

Hintergrund ist, man verkauft ein "Standardprogramm" und kann so (Hinzufügen der Vor- bzw. Nacharbeitsklassen) manuelle Anpassungen durchführen.

Gruß und Danke schon einmal für etwaige Antworten im Voraus.

Gelöschter Account
vor 15 Jahren

plugins sind hier die lösung:
[FAQ] Eigene Anwendung pluginfähig machen

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 15 Jahren

Vielen Dank, ich werde mich da mal einlesen.

Eine Frage dann doch noch - ist mir heute im Laufe des Tages eingefallen. Man kann ja Assemblys auch mittels Assembly.LoadFile laden. Die Plug-Ins machen demnach ähnliches? Oder soll man die einfach bei diesem Sachverhalt, bzw. Problemstellung dem klassischen Assembly.LoadFile vorziehen?

Gelöschter Account
vor 15 Jahren

nein. die loadfunktion ist etwas essentielles bei dieser anforderung.

mosspower Themenstarter:in
456 Beiträge seit 2007
vor 15 Jahren

OK, alles klar, vielen Dank!