Mono über IBM i-Codebeispiele
Dieses Repository wird zur Veröffentlichung von .Net- und IBM i-Codebeispielen im Zusammenhang mit der Ausführung von .Net auf IBM i verwendet.
Fühlen Sie sich frei, Ihre eigenen .Net-Beispiele beizusteuern und ich werde sie hier veröffentlichen.
Mono auf i
Zunächst muss die Mono on i-Umgebung auf Ihrem IBM i installiert sein.
Die binäre Speicherdateiverteilung für Mono für IBM i kann hier heruntergeladen werden:
https://github.com/MonoOni/binarydist
Mono auf i-Bibliothek
Wenn Sie .Net-Anwendungen einfach auf IBM i aufrufen und in Standard-Jobströme wie CL oder RPG integrieren möchten, laden Sie diese Bibliothek herunter und installieren Sie sie auch auf Ihrem IBM i.
https://github.com/richardschoen/MonoOniLibrary
Wenn Sie die MONOI-Bibliothek nicht installieren, müssen Sie Ihre .Net-Anwendungen zum Testen über eine PASE QP2TERM-Befehlszeile aufrufen. Der MONO-Befehl macht die Sache viel einfacher.
Beispielprogramm-ReadMe-Dateien
MonoHelloWorld – Beispielvorlage für Mono .Net-Konsolen-Apps
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoHelloWorld/MonoHelloWorld
MonoListTimeZones – Beispiel zum Auflisten aller für eine Mono .Net-App verfügbaren Zeitzonen, da Standardsystemwerte oder PASE-Umgebungswerte nicht funktionieren.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoListTimeZones/MonoListTimeZones
MonoAdoNetConnect – Dies ist eine App zum Testen der von Calvins optimierten Version von IBM.DB2.Data.dll, die für die Verwendung mit libdb400 unter IBM i PASE optimiert wurde. Kompilieren Sie es und führen Sie es aus, um Ihren Datenbankzugriff mit .Net zu testen.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoAdoNetConnect/MonoAdoNetConnect
MonoRunPase – Beispiel für die Ausführung von DB2-CLI-, CL-Systembefehlen, Qshell- oder PASE-Befehlen aus einer .Net-App.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoRunPase/MonoRunPase
MonoXmlToCsv – Beispiel für eine XML-Datei in eine CSV-Datei.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoXmlFileToCsv/MonoXmlFileToCsv
MonoDirList – Beispiel für das Crawlen des IFS-Verzeichnisbaums von IBM i, um alle Objekte im ausgewählten Unterverzeichnis und untergeordneten Elementen einer IFS-Datei und OUTFILE PF aufzulisten.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoDirList/MonoDirList
MonoMailSend – Dies ist ein produktionsbereiter E-Mail-Senderbefehl zum Senden von E-Mails von einem IBM i-System mithilfe der Mailkit/Mimekit-Mail-API, der zum Erstellen von Text- und HTML-E-Mail-Nachrichten verwendet werden kann. Senden Sie direkt über Office365, Gmail oder einen anderen sicheren oder unsicheren SMTP-Server.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoMailSend/MonoMailSend
MonoNancyDataService – Dies ist ein Beispiel für einen JSON-basierten IBM i-Daten-MicroService-Dienst, der auf dem C#-NancyFx-Framework basiert. Dies ist eine großartige Möglichkeit, IBM i-Daten und -Programme für andere Web- oder mobile Apps verfügbar zu machen. Der Dienst kann unter Windows oder nativ auf IBM i ausgeführt werden. Kann mit NGINX als Frontend für SSL verwendet werden.
https://github.com/richardschoen/MonoOniSamples/tree/master/MonoNancyDataService/MonoNancyDataService
MonoOdbcConnect – Dies ist ein Beispielprogramm zum Üben des neuen IBM i Access ODBC-Treibers für PASE, der im Mai 2019 von IBM veröffentlicht wurde. https://github.com/richardschoen/MonoOniSamples/tree/master/MonoOdbcConnect/MonoOdbcConnect
Beispiele in IFS mit Git installieren
Sie können die ZIP-Datei von Github herunterladen und die Visual Studio-Projekte entpacken oder sie im IFS installieren, indem Sie die folgenden Git-Befehlssequenzen verwenden, um das Repository zu klonen.
Starten Sie in einer IBM i 5250-Sitzung das QShell- oder PASE-Befehlszeilenterminal:
STRQSH or CALL QP2TERM
Wechseln Sie in den Stammordner. In diesem Beispiel klonen wir Code aus dem Stammverzeichnis in das IFS-Verzeichnis /MonoOniSamples:
cd /
Rufen Sie die folgende Befehlszeile auf, um das Repository in den Ordner /MonoOniSamples zu klonen
git -c http.sslVerify=false clone --recurse-submodules https://github.com/richardschoen/MonoOniSamples.git
Wenn alles erfolgreich ausgeführt wurde, sollte auf Ihrem IFS ein neuer Ordner mit dem Namen /MonoOniSamples verfügbar sein.