Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi CGI oder nicht CGI (https://www.delphipraxis.net/189270-cgi-oder-nicht-cgi.html)

Delbor 24. Mai 2016 11:51

CGI oder nicht CGI
 
Hi zusammen

Erstellt man eine Webbroker-Anwendung mit Delphi, hat man ja die Wahl
  • einer Standalone-Application (exe-Datei mit einer TIdWebbrokerBridge)
  • einer CGI-Anwendung (exe-Datei)oder
  • einer ISAPI-Anwendung (DLL)
Seit ich mich in Webprogrammierung einarbeite, konnte ich mir eine Frage nicht beantworten:
Was ist eine EXE-Datei unter den Internet Information Services?
  • Auf jeden Fall eine CGI-Anwendung?
  • Das würde bedeuten, dass eine mit den Indys oder anderen Komponentensammlungen erstellte Webanwendung automatisch eine CGI-Anwendung wäre?
  • Das heisst, dass für jede Anfrage ein separater Prozess/eine separate Instanz der Anwendung gestartet würde?

Oder wie verhält sich das nun wirklich? Kann eine EXE.Anwendung unter den IIS auch keine CGI-Anwendung seinn?

Gruss
Delbor

Rollo62 24. Mai 2016 16:59

AW: CGI oder nicht CGI
 
Verstehe die Frage vielleicht nicht richtig, aber
StandAlone.exe ist ein eigenständiger WebServer, als EXE Datei die du starten kannst.

Ist ganz interessant zum Testen,aber läuft wohl nur auf deinem Rechner.

Wenn die Programm läuft kannst du dann einfach statt EXE ein ISAPI oder CGI kompilieren, das sollte
im Bestenfalls 1:1 laufen.

Ich denke eine Anwendung der StandAlone.EXE st auch diese als Service laufen zu lassen.
Aber das hjabe ich nocht nicht probiert, ich vermute mal das muss man selber noch etwas anpaassen und das GUI rauswerfen.
Dann sollte es aber gehen.

Rollo

Mavarik 24. Mai 2016 17:12

AW: CGI oder nicht CGI
 
Wenn Du eine Exe hast, musst Du alles selber machen...

Also auch für jeden connecting client einen Thread abspalten.
Ich habe auch sowas "am laufen" mit ICS geht das ganz gut..

Vorteil ich kann per RDP einfach mit dem GUI der Exec auf meinen Serverdesktop arbeiten und bin unabhängig vom IIS.

CGI macht für mich keinen Sinn... Die CGI wird für jeden Request vom IIS geladen und die Kommunikation ist auch per Consolenumleitung nicht so nice...

ISAPI/dlls sind für den IIS die richtige Wahl. Um on the fly die Dll aus zu tauschen, nehme ich einen DLL Loader der das kann. Leider funktioniert meine Loader nicht auf Windows 2008 R2 sondern nur auf 2003... (Muss ich auch mal ändern)

Damit schlägt man jede andere Webanwendung in der performance! Die DLL is preloaded nach dem 1. Request und benötigt keine LoadTime mehr.
Außerdem bist Du direkt auf der CPU - der IIS kümmert sich um die Instancen...

Mavarik

Delbor 25. Mai 2016 02:59

AW: CGI oder nicht CGI
 
Hi zusammen
Zitat:

Zitat von Mavarik (Beitrag 1338853)
Wenn Du eine Exe hast, musst Du alles selber machen...

Also auch für jeden connecting client einen Thread abspalten.
Ich habe auch sowas "am laufen" im ICL geht das ganz gut..

Vorteil ich kann per RDP einfach mit dem GUI der Exec auf meinen Serverdesktop arbeiten und bin unabhängig vom IIS.

Sorry - ICL, was ist das?


Zitat:

Zitat von Mavarik (Beitrag 1338853)
CGI macht für mich keinen Sinn... Die CGI wird für jeden Request vom IIS geladen und die Kommunikation ist auch per Consolenumleitung nicht so nice...

Für mich macht CGI genau deswegen auch keinen Sinn. Und die Konsole - wenn sowas sein muss, dann schon die Powershell...

Zitat:

Zitat von Mavarik (Beitrag 1338853)
ISAPI/dlls sind für den IIS die richtige Wahl. Um on the fly die Dll aus zu tauschen, nehme ich einen DLL Loader der das kann. Leider funktioniert meine Loader nicht auf Windows 2008 R2 sondern nur auf 2003... (Muss ich auch mal ändern)

Damit schlägt man jede andere Webanwendung in der performance! Die DLL is preloaded nach dem 1. Request und benötigt keine LoadTime mehr.
Außerdem bist Du direkt auf der CPU - der IIS kümmert sich um die Instancen...

Mavarik

Ich hab mich eigentlich schon fast entschieden, mit Fremdkomponenten zu arbeiten (Indys oder ICS), weil meine bisherigen Versuche mit Webroker(ISAPI) und der Konfiguration der IIS schiefgelaufen sind - bis ich ein deutsches Tutorial zur IIS-Konfiguration sogar neueren Datums gefunden habe.
Trotzdem denke ich, dass sich mir in Bezug auf die IIS noch Fragen stellen werden.

Gruss
Delbor

Mavarik 25. Mai 2016 08:38

AW: CGI oder nicht CGI
 
Zitat:

Zitat von Delbor (Beitrag 1338879)
Sorry - ICL, was ist das?

Sorry Tippfehler - mit ICS


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz