Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#2

AW: Win-CGI mit Delphi: Start eines anderen Prozesses

  Alt 13. Mär 2019, 08:58
Dort https://www.experts-exchange.com/que...-c0000025.html schreibt jemand, dass es eine ausführliche Beschreibung des Fehlers an dieser Stelle http://www.microsoft.com/downloads/d...displaylang=en geben soll (SDKs).

Ursache ist (vermutlich)
Code:
#define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD  )0xC0000025L)
Tippe mal darauf, dass beim Anwender irgendwas anders ist, als von Dir / dem CGI erwartet und von daher eine Exception auftritt, mit der nicht gerechnet wird und die deshalb das CGI "abrauchen" lässt.

Prinzipiell müsste dieser ExitCode darauf hinweisen, dass ein gestarteter Prozess mit einer Exception beendet wird. Dies könnte aus IIS-Sicht das CGI sein oder aus CGI-Sicht ein per CreateProcess gestarteter Prozess.

Funktioniert beim Anwender das CGI, wenn es nix weiter macht, als z. B. "Hallo Welt" auszugeben? Sprich: Funktionieren bei ihm CGIs überhaupt?

Im Zweifelsfalle im CGI die Exceptionbehandlung "extremst aufmotzen" und in 'ne Datei loggen, was gemacht wird, um so die Fehlerursache eingrenzen zu können.

Muss es ein CGI-Module sein? Ginge auch 'ne ISAPI-Dll? Damit müsste der IIS zurechtkommen.

Zum "Umbau" braucht es nicht viel: Neues Projekt für 'ne ISAPI-Dll erstellen, dort das erstellte Webmodul rauswerfen, das Webmodul des CGIs aufnehmen, kompilieren, fertig (auf der Delphiseite).

Vorteil von CGIs: Sie reißen im Fehlerfalle den Webserver nicht mit runter, was bei 'ner ISAPI-Dll passieren kann. Nachteil: Es ist deutlich langsamer, da es immer neu geladen und initialisiert werden muss. Das passiert bei 'ner ISAPI-Dll nur einmalig. Bei CGIs ist die Fehlerbehandlung oft ein "Schwarzes Loch", da man Fehler nicht zwingend mitbekommt, bei ISAPI-Dlls könnte vom Webserver ein etwas verständlicherer Fehlerhinweis kommen.

Den IIS hab' ich nie selbst konfigurieren müssen, von daher kann ich nicht sagen, was dort dann erforderlich ist. Bei meinem Webserver reicht es aus, die DLL in das entsprechende Verzeichnis zu kopieren und man kann sie nutzen. Ob's beim IIS auch so einfach ist, weiß ich nicht. Ob's das Problem löst allerdings auch nicht

Eventuell weiß da jemand mehr: Bei Google suchenC0000025 exitcode
  Mit Zitat antworten Zitat