Daten|teiler
Kopieren als Kulturtechnik

ASP.NET-Applikationen unter Ubuntu testen

3. Mai 2011 von Christian Imhorst

Mit den Active Server Pages .NET (ASP.NET) kann man Webanwendungen auf Basis des .NET-Frameworks von Microsoft mit Sprachen wie C# oder VB.NET entwickeln. Dabei kann man theoretisch auch andere Sprachen verwenden, sie müssen nur zur Common Language Runtime (CLR), der Laufzeitumgebung von .NET, kompatibel sein.

Der Beitrag OpenSuse mit ASP.NET-Unterstützung von Patrick Schmid (compr00t) hat mich auf die Idee gebracht, ASP.NET-Anwendungen, die ich z.B. in VB.NET entwickel, unter Ubuntu zu testen. Der Aufbau der Testumgebung ist Dank Mono recht einfach:

sudo apt-get install mono-xsp2 asp.net2-examples mono-vbnc

XPS2 ist ein einfacher in C# geschriebener Webserver für ASP.NET 2.0, die ASP.NET2-Beispiele installiere ich, um zu schauen, ob die Testumgebung läuft, und Mono-vbnc als VB.NET-Compiler. Will man den C#-Compiler in Mono installieren, benötigt man mono-gmcs. Um den Webserver mit den soeben installierten Demos zu starten, gibt man folgenden Befehl im Terminal ein:

xsp2 --root /usr/share/asp.net2-demos/

Wenn alles glatt läuft, erhält man folgende Ausgabe:

xsp2
Listening on address: 0.0.0.0
Root directory: /usr/share/asp.net2-demos
Listening on port: 8080 (non-secure)
Hit Return to stop the server.

Jetzt kann man im Web-Browser schauen, ob bei der Installation wirklich alles gut gegangen ist, in dem man die Adresse http://localhost:8080/ aufruft, und das Beispiel hoffentlich betrachten kann.

Um eigene Anwendungen zu testen, legt man einen Ordner an, z.B. ASP.NET im Home-Verzeichnis, und speichert die Datei index.aspx mit folgendem Inhalt im Unterordner HalloWelt ab:

<!-- index.aspx -->
<%@ Page Language="VB" Debug="True" Strict="True"  %>
<script runat="server">
Sub Page_Load (ByVal Sender As Object, ByVal E As EventArgs)
   Dim strText As String 
   strText = "Hallo Welt!"
   myTitle.InnerText = strText
   myP.InnerText = strText
End Sub
</script>
<html>
<head>
    <title id="myTitle" runat="server" ></title>
</head>
<body>
    <p id="myP" runat="server"></p>
</body>
</html>

Dabei muss man auf die genaue Schreibweise, sowie Groß- und Kleinschreibung achten, ansonsten hat man am Ende eine Fehlermeldung wie „Server Error in ‚/‘ Application“:

Der Webserver XPS2 wird jetzt mit einem anderen Wurzelverzeichnis gestartet:

xsp2 --root /home/christian/ASP.NET/HalloWelt

Nach einem erneuten Aufruf der Adresse http://localhost:8080/ sollte im Webbrowser „Hallo Welt!“ stehen und das richtige Testen kann beginnen.

Geschrieben in Gnu/Linux