Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism Webform(grundlegendes wissen) (https://www.delphipraxis.net/60651-webform-grundlegendes-wissen.html)

jmd anders 10. Jan 2006 15:45


Webform(grundlegendes wissen)
 
Hallo zusammen,

ich versuche schon seit ein paar Tagen ein Webform online zum Laufen zu bringen.
Es ist erstmal kein Problem das WebForm mit dem cassini server zu starten, das funktioniert alles
wunderbar. Aber wenn ich dies nun auf einem Webserver für aspx tun möchte treten grundlegende Probleme auf. Bei google hab ich schon viel gesucht, aber für delphi und .net find ich da nicht so das Richtige.
also erstmal meine Fragen:

1. Welche Dateien brauch der Aspx server um mein Webform zu bearbeiten( nur die asxp datei?)?

2. Müssen verschiedene Ordner erstellt werden, oder werden alle dateien in ein verzeichnis kopiert?

3. Muss ich schon vor dem compilieren festlegen, mit welchem server das webform nachher ausgeführt wird oder ist dies nur für testzwecke?

4. Ist sonst noch etwas Wichtiges zu beachten?

danke

ich denke mal durch die Beantwortung dieser fragen komme ich ein stückchen weiter.

Phoenix 10. Jan 2006 16:38

Re: Webform(grundlegendes wissen)
 
Zitat:

Zitat von jmd anders
1. Welche Dateien brauch der Aspx server um mein Webform zu bearbeiten( nur die asxp datei?)?

Nein. Im /bin - Verzeichnis erstellt Delphi noch eine (oder mehrere) .dll - Dateien. Die müssen freilich auch in ein /bin - Verzeichnis unterhalb der .aspx - Files hin.

Wichtig ist auch noch: Benutzt Du fremde .NET - Komponenten (z.B. die von Borland selber oder die von Component One)? Wenn ja: Sind diese auch auf dem Server installiert und im Global Assembly Cache registriert? Wenn nein: Dann musst Du die referenzierten Assemblys (also die zugehörigen .dll - Dateien) mit ausliefern und auch in das /bin - Verzeichnis kopieren, damit die Komponenten auch gefunden werden.

Zitat:

Zitat von jmd anders
2. Müssen verschiedene Ordner erstellt werden, oder werden alle dateien in ein verzeichnis kopiert?

Siehe Antwort zu Frage 1.

Zitat:

Zitat von jmd anders
3. Muss ich schon vor dem compilieren festlegen, mit welchem server das webform nachher ausgeführt wird oder ist dies nur für testzwecke?

Der Server zur Laufzeit ist egal, da sowohl Cassini als auch der IIS (als auch Apache) die .NET Webanwendung (dein .aspx - Webform) einfach an die .NET Runtime weitergeben.

Zitat:

Zitat von jmd anders
4. Ist sonst noch etwas Wichtiges zu beachten?

Schon. Einiges sogar, was gern zu Fehlern führen kann.

Du erwähnst Delphi mit ASP.net. Das heisst, Deine Anwendung ist eine für .NET 1.1. Ist auf dem Server vielleicht schon die .NET 2.0 Runtime installiert? Wenn ja, musst Du für Dein Webverzeichnis den ASP.NET - Handler explizit wieder auf 1.1 umstellen, sonst würde die 1.1 - Anwendung mit einer 2.0 Runtime ausgeführt und das geht in die Hose.

Wenn das alles nicht hilft brauchen wir noch mehr Infos:
1.) Welcher Webserver kommt zum Einsatz? (IIS oder Apache?)
2.) Welche .NET Runtime nutzt Du? (Microsoft .NET Framework 1.1 oder Mono unter Apache?)
3.) Was für Fehlermeldungen spuckt der Server denn aus?

jmd anders 11. Jan 2006 13:39

Re: Webform(grundlegendes wissen)
 
Hm, ich habe testweise einfach ein webform genommen und einen button darauferstellt und hinter den button eine ganz einfache addition gelegt. Also denke ich mal, dass ich keine weiteren assemblies benutze.

Auf dem server hab ich einen bin ordner erstellt und die von delphi erzeugte dll reinkopiert.
In dem root-path liegt die aspx datei.

Wenn ich nun diese aufrufe per browser, kriege ich die meldung dass ein fehler aufgetreten ist, und wenn ich eine detailierte meldung erhalten will, in der web.config <customErrors auf mode="Off" stellen soll.

Dies habe ich auch getan aber immer noch erhalte ich die gleiche seite.


Als host nutze ich brinkster(www.brinkster.com). Es wird .net 1.1 auf dem server betrieben und als webserver kommt soweit ich weiß iis 6 zu nutze.

danke dafür, dass du dir hierfür zeit nimmst.

Phoenix 11. Jan 2006 14:30

Re: Webform(grundlegendes wissen)
 
Zitat:

Zitat von jmd anders
Hm, ich habe testweise einfach ein webform genommen und einen button darauferstellt und hinter den button eine ganz einfache addition gelegt. Also denke ich mal, dass ich keine weiteren assemblies benutze.

Schau da lieber mal gesichert nach :)
Steht in der Uses-Klausel noch irgendwas ausser System.xxx ? Vielleicht doch irgendwas, was mit Borland. anfängt?

Zitat:

Zitat von jmd anders
Auf dem server hab ich einen bin ordner erstellt und die von delphi erzeugte dll reinkopiert. In dem root-path liegt die aspx datei.

Deinen Ausführungen entnehme ich, dass Du die Web.config auch mit dahin kopiert hast, richtig?

Da das ganze ja wohl ein Testprojekt ist würde ich Dich gerade mal bitten, die Dateien mit genau den von Dir verwendeten Verzeichnissen die Du auf den Server kopiert hast so zu nehmen, einzupacken und hier mal dranzuhängen. In einem anderen .zip Idealerweise noch das komplette Projekt dazu. Dann kann ich mir das mal genauer angucken.

jmd anders 11. Jan 2006 19:47

Re: Webform(grundlegendes wissen)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also in der uses-Klausel stehen nur System.~ namespaces aber nichts von borland.
Ich hab jetzt das Projekt (WebTestProjekt.zip) und das was ich auf den server geladen hab(WebTest.zip)
angehängt.
danke nochmals

squetk 11. Jan 2006 22:42

Re: Webform(grundlegendes wissen)
 
Also bei mir funktioniert dein Testprogramm - das was in der webtest.zip enthalten ist genügt vollauf.
Einen genauen Fehler kriegst du nicht? Auch nicht, wenn du in der web.config customErrors mode="Off" setzt?

Phoenix 12. Jan 2006 09:52

Re: Webform(grundlegendes wissen)
 
Also ich habe aus Deinem Verzeichnis die Webform1.aspx, die Web.config Datei genommen und unter /bin nur die Webtest.dll. Diese drei Dateien habe ich also in C:\inetpub\wwwroot\webtest bzw. C:\inetpub\wwwroot\webtest\bin kopiert, im ISS das Verzeichnis als Webanwendung konfiguriert und das läuft einwandfrei. Es ist da ein Button und ein Label und wenn ich auf den Button klicke erscheint im Label ne 30.

jmd anders 13. Jan 2006 16:08

Re: Webform(grundlegendes wissen)
 
Ich danke nochmal vielmals für die mühe, ich hab letztendlich die lösung beim support gefunden, der mir dann gesagt hat, dass beim educational packet kein code-behind möglich ist...

hanselmansel 13. Jan 2006 17:36

Re: Webform(grundlegendes wissen)
 
Zitat:

Zitat von jmd anders
support [...] gesagt [...], dass beim educational packet kein code-behind möglich ist

Ich habe auch damit geliebäugelt, zu Bringster zu gehen, eben da auf der website ASP.net ausgeschrieben ist. Geht diese Technologie also generell nicht?

MfG,

hanselmansel


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 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