Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Web Projekte mit SharpDevelop erstellen

Geschrieben von: Christian Holm
Kategorie: C#

Dieser Artikel zeigt Ihnen, daß kleinere Web Projekte nicht nur mit Jumbo Programmen, die PC-Resourcen wie ein V8 Motor Benzin verbrauchen, zu bewältigen sind. Ich habe für die Lösung der heutigen Aufgabe - eine C# Komponente und die dazugehörige ASP.NET Seite - das Open-Source Tool SharpDevelop verwendet.

SharpDevelop ist selbst in C# geschrieben, und somit eine .NET Anwendung. Daher benötigen Sie, um SharpDevelop ausführen zu können, die .NET Runtime (oder das vollständige SDK).

Das Projekt

Das Web Projekt besteht zwar der Einfachheit halber nur aus 2 Dateien, ist aber dennoch aussagekräftig über die Mächtigkeit des Tools. Die Aufgabenstellung ist einfach: Es gilt einen Zufallszahlengenerator in C# zu schreiben, und diesen als Assembly zur Verfügung zu stellen. Eine ASP.NET Datei wird der "Consumer" dieser Komponente sein, und ebenfalls in das Projekt eingebunden.

Erstellung der Projekt Datei

Nach dem Öffnen von SharpDevelop erstellen wir ein neues Projekt indem wir unter dem Untermenüpunkt "New" des Menüs "File" den Punkt "Project..." auswählen. Im Eintrag "C#" wählen wir Empty C# Project, geben ihm den Namen Randomizer und bestätigen mit OK (siehe Screenshot).

Danach fügen wir dem Projekt durch Klicken mit der rechten Maustaste auf den Projektnamen im Project Scout (PS-Tab) die benötigten Dateien hinzu. Dieser Vorgang ist Schritt-für-Schritt in den nächsten Screenshots gezeigt.

Das Hinzufügen funktioniert über das Kontextmenü, das die New File Dialogbox öffnet.

Da wir die Komponente über eine C#-Klasse erstellen, wählen wir zuerst Empty C# file aus, und benennen sie auch gleich passend mit rnd.cs. Weiter geht es mit der ASP.NET Datei:

Dieser Typ existiert noch nicht explizit, daher wählen wir wieder Empty C# file, und benennen die Datei aber als random.aspx.

Als nächsten Schritt konfigurieren wir die Project Options im Project Menüs. Da wir eine DLL Datei erstellen wollen, setzen wir den Eintrag bei "Target" auf Library (siehe nächsten Screenshot).

Soweit so gut. Nun können wir mit dem Programmieren anfangen. Als erstes beginnen wir mit dem C# Code.

Die C# Klasse

Zuerst referenzieren wir auf den System Namespace. Danach erstellen wir unseren eigenen Namespace NumberGen.

using System;

namespace NumberGen
{

Das Zufallszahlengenerieren verpacken wir in eine Klasse namens Randomize. Wir deklarieren eine Variable dRndNum vom Datentyp double und erstellen, damit sich auch was tut, zusätzlich die Methode GenNumber, die public ist und einen Integerwert zurückgibt.

...
public class Randomize
{
  	double dRndNum;

  	public int GenNum()
  	{
              Random objRandom = new Random();
              dRndNum = objRandom.NextDouble();
              return (int)(dRndNum * 10.0);
  	}
}
...

Danach müssen wir noch ein neues Random Objekt erstellen, welches wir der Variable objRandom zuweisen. Damit lassen wir uns eine Zufallszahl generieren und weisen diese der Variable dRndNum zu. Da unsere Methode ja auch was zurückliefern soll, müssen wir das mit dem Keyword return machen und wandeln die Double-Variable gleich in den Integer-Datentyp um - fast fertig. Was noch fehlt ist die Kompilierung zur DLL, was der nächste Screenshot zeigt.

Nach der erfolgreichen Kompilierung wenden wir uns der ASP.NET Datei zu - unserem Consumer.

Die ASP.NET Datei

Diese enthält keine besonders aufregenden Codezeilen. Wir müssen lediglich auf unseren Namespace NumberGen referenzieren. Ich habe noch eine if Verzweigung eingebaut, die falls "0" zurückgegeben wird, dies mit "zero returned" bestätigt.

<% @Page Language= "c#" %>
<% @Import Namespace="NumberGen" %>

<%
    int nResult=0;
    Randomize MyRandom = new Randomize();
    nResult = MyRandom.GenNum();

    Response.Write("<h3>Randomizer</h3> <br>");

    if (0 == nResult)
    {
    	Response.Write("zero returned");
    }
    else
    {
        Response.Write("Randomized Number: ");
        Response.Write(nResult.ToString());
    }
%>

Der fertige Sourcode Sourcecode sieht in SharpDevelop mit Color-Coding dann so aus:

Da SharpDevelop unter anderem C#-Syntaxhighlighting unterstützt, wird der Code schön übersichtlich (bunt). Die einstellbaren Coding Gadgets wie automatische Klammernanordnungen, Code Templates (Code Vorlagen) erleichtern die Arbeit ungemein.

Was nun noch fehlt ist die Ausführung auf einem Web Server, der die Microsoft .NET Runtime installiert hat. Wir kopieren die random.aspx Datei ins Webverzeichnis (z.B. ..\wwwroot) und die rnd.dll ins Unterverzeichnis \bin (z.B. ..\wwwroot\bin).

In einem Browser sieht die ausgeführte ASP.NET Datei dann so aus:

Schlußbemerkung

Die vorliegende SharpDevelop Version beweist schon jetzt ihre Stärken und kann natürlich auch bei umfangreicheren Projekten mithalten - SharpDevelop wurde in SharpDevelop entwickelt. Sie läßt kaum Wünsche offen und läuft stabil auf der Microsoft .NET Runtime.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Dateien umbenennen
Regex'en zu Assemblies kompilieren
Session State in ASP.NET Web Services
Web Services 101 in ASP.NET
Web Services in Anwendungen konsumieren

Links zu anderen Sites

SharpDevelop

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Eine weitere sehr hilfreiche Resource ist das deutsche ASP.NET Wiki, das als zentrale Anlaufstelle für Tips, Tricks, Know How und alles Nützliche was man in seinem Alltag als (ASP).NET-Entwickler so braucht und entdeckt gedacht ist.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.