Anstatt die Ausführungslogik der Systemaktivität in PHP zu implementieren, besteht alternativ auch die Möglichkeit, diese stattdessen in .NET zu realisieren.
Hierzu sind weitere Voraussetzungen zu erfüllen:
•Sie haben in der Datei SystemActivity.php in der Basisklasse Ihrer Systemaktivität die Methode getActivityType folgendermaßen überschrieben:
public function getActivityType()
{
return SystemActivity::ACTIVITY_TYPE_NON_PHP;
}
Dies signalisiert JobRouter, dass die Ausführungslogik der Systemaktivität nicht in PHP, sondern in .NET implementiert ist.
•Die Klasse, in der die Ausführungslogik der Systemaktivität in .NET implementiert ist, muss von der API-Basisklasse AbstractSystemActivityAPI abgeleitet sein. Weiterhin muss die Klasse folgende abstrakte Methoden der API-Basisklasse implementieren:
- GetActivityId(), GetModuleName()
- Prepare(), Execute(), BeforeSave(), CleanUp()
- OnSuccess(), OnException(Exception ex)
•Sie haben im Rahmen der Implementierung der Ausführungslogik die .NET-Systemaktivität als .NET-Bibliothek (DLL) erstellt. Wichtig: Der Name der DLL darf nicht mit Jobrouter. beginnen!
•Sie haben die .NET-Systemaktivität mit dem Zielframework .NET 6.0 (Long Term Support) bzw. .NET Standard 2.x und der Zielplattform x64 kompiliert