WebServer mit Login und Artikelverwaltung

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

User avatar
softdevo@tiscali.it
Posts: 191
Joined: Wed Sep 30, 2015 1:30 pm

WebServer mit Login und Artikelverwaltung

Post by softdevo@tiscali.it »

Hi, I can't start WebServer.exe. It looks for dlls of xsharp version 2.1.0 which I no longer have.
If you put the code online, everyone can recompile it with the version of xsharp in use.
Danilo
ic2
Posts: 1858
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

WebServer mit Login und Artikelverwaltung

Post by ic2 »

Hallo Horst,
Horst wrote: Zuerst wollte ich meine CGI's unter IIS in X# konvertieren, leider ging das nicht, sobald eine extere Dll (z.B. VORDDClasses.dll) aufgerufen wurde fand IIS die dll's nicht.
Dann wollte ich eine ISAPI Extension für IIS machen, leider geht das auch nicht mit .NET es müsste C++ oder so sein.
Wie hast du das mit den CGI gelöst ? Benutzt du IIS ?
Wir verwenden einen Windows-Server von unserem Webhoster (wo wir EXE-Rechte erhalten haben). Ja, das ist aus ihrer Sicht IIS. Es ist eine X # .exe und 1 DLL und abgesehen von den üblichen Aktionen, eine DLL einzuschließen, haben wir nichts Besonderes getan, um die DLL zum Laufen zu bringen.

Dick
User avatar
Horst
Posts: 336
Joined: Tue Oct 13, 2015 3:27 pm

WebServer mit Login und Artikelverwaltung

Post by Horst »

Hallo Dick

-> und abgesehen von den üblichen Aktionen, eine DLL einzuschließen

Kannst du mir das erklären ?
Gruss Horst
User avatar
Horst
Posts: 336
Joined: Tue Oct 13, 2015 3:27 pm

WebServer mit Login und Artikelverwaltung

Post by Horst »

Hallo Danilo
Ohh my fault, i am goinig old, i thought i put the source also into the zip.
I hope now its usable.
Horst
Attachments
Web_Server.zip
(192.18 KiB) Downloaded 67 times
Applications.zip
(162.69 KiB) Downloaded 67 times
User avatar
SHirsch
Posts: 286
Joined: Tue Jan 30, 2018 8:23 am
Location: Germany

WebServer mit Login und Artikelverwaltung

Post by SHirsch »

Hallo Horst,
in der Kürze liegt die Würze.
Hier nur ganz kurz was mir auf die Schnelle aufgefallen ist:
1. Der Processor Thread schmiert ab, wenn was schief geht. Irgendwann sind alle Processor Threads beendet
Abhilfe: TRY CATCH innerhalb der Reponse Methode um diverse Aufrufe und der Einfachheit halber um den ganzen Inhalt.
2. in der Response Method gibt es mehrere Probleme (siehe MSDN):
- System.Io.Path.GetTempFileName kann schief gehen (Temp-Datei kann nicht erstellt werden) -> TRY CATCH
- die Temp-Dateien sollten hinterher wieder gelöscht werden
- File.Create erstellt die Datei nochmal, obwohl sie mit GetTempFileName schon erstellt wurde
3. WriteLog ist nicht ThreadSafe (wenn zwei Threads gleichzeitig die Datei öffnen wollen, kommt eine Exception), es kommt nicht zum Absturz, schreibt aber im Fehlerfall nichts ins Log

Ganz allgemein:
Wäre so eine Neuprogrammierung nicht eine gute Gelegenheit das WebInterface zu modernisieren, z.B. mit Angular, React oder vue?

Stefan
ic2
Posts: 1858
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

WebServer mit Login und Artikelverwaltung

Post by ic2 »

Hallo Horst,
Horst wrote:Hallo Dick
-> und abgesehen von den üblichen Aktionen, eine DLL einzuschließen
Kannst du mir das erklären ?
Wir haben eine Visual Studio Solution für das CGI-Projekt, : 1 X # -Projekt und 1 C # -Projekt, das (in Properties) ein Class Libraryist. Dann verweisen wir in References des X # -Projekts auf das C # -Projekt.

Wenn wir das Projekt generieren erhalten wir eine X # .exe und eine C # .DLL. Zusammen mit den EXE-Rechten im IIS-Verzeichnis abgelegt, hat es funktioniert.

Ich denke, das ist alles, was wir dort gemacht haben.

Dick

==========================
We have a Visual Studio Solution for the CGI project consisting of 1 X# project and 1 C# project which is (in properties) a Class Library. Then, in References of the X# project, we point to the C# project.

When we generate the project we get a X# .exe and a C# .DLL. Placed together in the IIS directory with .exe rights it worked.

I think that is all we did there.
User avatar
Horst
Posts: 336
Joined: Tue Oct 13, 2015 3:27 pm

WebServer mit Login und Artikelverwaltung

Post by Horst »

Hallo Stefan
Fange von hinten an :-)
3. Habe ich auch gemerkt als ich das Speicherverhalten getestet habe (mit 8 Browsern und einer WebSeite die sich alle paar Sekunden refresht) Sie schrieben zum Teil überlappend ins Logfile. Da ich die aber zu 99% nur zum debbugen brauche lies ich sein.
2 und 1 Das File.Create habe ich aus einem C# Muster , habe mich auch gewundert warum, aber war zu faul zum weiterdenken. Das werde ich sicher sofort ändern und noch ein parr Try/Catch einbauen.

Was meinst du mit siehe MSDN ?.

Angular, React oder vue musste ich googlen. Ich möchte einen ganz simplen Aufbau haben, wen immer möglich ohne irgendwelche Zusatzbibliotheken. Mit X# ,HTML,CSS und JS habe ich eine App die sauschnell und problemlos läuft. Als VO Cgi schon seit gut 10 Jahren.

Das aussterben von VO und die vielen Zusatzmöglichkeiten von .Net (einfach einzubinden) treibt mich zu X#.

Danke für dein Feedback.

Gruss
Horst
User avatar
softdevo@tiscali.it
Posts: 191
Joined: Wed Sep 30, 2015 1:30 pm

WebServer mit Login und Artikelverwaltung

Post by softdevo@tiscali.it »

Ok, now I can compile your application, but I don't understand how it works. How can I tell to start my own web application?
I guess I should be able to say to start an application located in the "x" folder, the start page is called "y". Am I wrong?
Thanks

Danilo
User avatar
Horst
Posts: 336
Joined: Tue Oct 13, 2015 3:27 pm

WebServer mit Login und Artikelverwaltung

Post by Horst »

Hallo Danilo
I think your expecting to much from my little 'Server' . the Server is build on the httplistener example from Wolfgang.

In the html code is 'action="forzaItalia"'
in the method response() is a switch with
CASE "forzaitalia" ; cString := StartDanilo (oRequest, cInputString) (StartDanilo is in a Dll)
cString contains the answer for the browser

i hope that helps
Horst
Post Reply