Dariusz quatscht

Web Development on Microsoft's Platform
Navigation

AzureNow How-To-Guide: ASP.NET Web Anwendung auf Windows Azure hosten [Windows Azure Gewinnspiel]

AzureNow How-To-Guide: ASP.NET Web Anwendung auf Windows Azure hosten [Windows Azure Gewinnspiel]

  • Comments 1

In diesem Blog Post beschreibe ich welche Schritte notwendig sind um eine ASP.NET Web Anwendung mit Visual Web Developer 2008 Express Edition zu erstellen und diese dann auf Windows Azure zum Hosten zu publizieren. Falls Sie noch die Entwicklungsumgebung und / oder das Windows Azure SDK samt Tools noch nicht installiert haben, so können Sie den AzureNow How-To-Guide: Windows Azure Entwicklungsumgebung installieren durchlesen. Alternativ zu der Anleitung können Sie sich auch diesen Screencast anschauen.

Get Microsoft Silverlight

Starten der Entwicklungsumgebung

Um mit den lokalen Windows Azure Tools arbeiten zu können muss die Entwicklungsumgebung im Administrationsmodus gestartet werden. Hierfür drücken Sie mit der rechten Maustaste auf das Programmsymbol und führen die Anwendung als Administrator aus.

shot30

Der UAC (User Account Control) Dialog erfordert die Bestätigung.

shot31

Nachdem Sie mit Ja bestätigt haben, ist die Entwicklungsumgebung nun im Administrationsmodus gestartet. Das erkennt man an dem Fenstertitel, in Klammern ist Administrator zu lesen.

shot32

Anlegen der Projekt-Datei

Als nächstes öffnen wir über das Menü “File / New Project…” den Projekt Template Dialog.

shot33

Wir wählen das Cloud Service Template aus. In meinem Beispiel ist das Cloud Service Template in der Programmiersprache C# ausgewählt. Vergeben Sie noch einen Namen und drücken Sie OK.

Der nächste Dialog gibt uns eine Auswahl an Rollen die wir in dem Cloud Service Template verwenden können. Es gibt momentan drei verschiedene Rollen: Die ASP.NET Web Role, die Worker Role und eine CGI Web Role. Für unser Beispiel fügen wir eine ASP.NET Web Role hinzu.

shot34

Wir lassen den Namen der ASP.NET Web Role bei WebRole1 und drücken OK

Jetzt hat die Entwicklungsumgebung alle notwendigen Informationen und erstellt die Solution. Im Solution Explorer sehen wir nun folgende Dateien:

shot35

Default.aspx Programmieren

Mit einem Doppel-Klick im Solution Explorer auf die Datei Default.aspx öffnen wir diese zum Editieren. Der Editor sollte nun die Datei Default.aspx geladen haben und diese anzeigen.

shot36

Im DIV Tag (in Zeile 12 exakt) fügen wir ein paar weitere Element hinzu.

<h1>Hallo Windows Azure</h1>
<div>
<asp:Button ID="actionPrintTime" Text="Zeige Uhrzeit an" runat="server" />
</div>
<div>
<asp:Label ID="output" runat="server" />
</div>

So dass die gesamte Datei folgendermaßen aussieht:

shot37

Nun schalten wir auf die Design Ansicht um. Hierzu wählt man unten im Editor Design aus.

shot38

Wenn wir in der Design Ansicht sind, kann man in den Code Editor durch ein Doppelklicken auf den Button “Zeige Uhrzeit an” gelangen. Dadurch wird für das ASP.NET Element Button ein OnClick Handler definiert der in der Code Behind Datei gleichzeitig angelegt wird. Der Code Editor öffnet nun diese Code Behind Datei.

shot39

Nun können wir das Button Element mit Programmcode füllen. Hierzu tippen wir folgenden Code in die Methode actionPrintTime_Click ein.

output.Text = DateTime.Now.ToShortTimeString();

Der Code der Klasse _Default sieht nun folgendermaßen aus:

shot40

Lokales Testen der Anwendung

Jetzt können wir das Projekt mit der Taste F5 in der lokalen Windows Azure Development Fabric starten. Die Windows Azure Development Fabric simuliert die Windows Azure Hosting Infrastruktur und erlaubt es so losgelöst von der eigentlichen Hosting Plattform Anwendungen zu Entwickeln und zu Testen. Hierzu startet die Entwickluingsumgebung die Development Fabric und das Development Storage an. Beim allererstenmal kommt ein Dialog hoch der einfach Bestätigt werden muß. Der Dialog legt dann den momentanen Benutzer für das Development Storage an und erstellt auch noch eine lokale Datenbank.

Im Windows Tray kann man die Icons der Development Fabric und des Development Storage sehen.

shot41 shot42

Wenn die Anwendung gestartet ist wird die Seite Default.aspx angezeigt und ein Klick auf den Button ruft dann die Funktionalität auf die Implementiert wurde und zeigt die Uhrzeit des Servers an.

shot43

Publizieren der Anwendung auf Windows Azure

Nun geht es darum die ASP.NET Anwendung in die Windows Azure Infrastruktur zu publizieren. Dazu geht man auf das Cloud Service Projekt im Solution Explorer und ruft das Kontextmenü mittels der rechten Maustaste auf.

shot44

Im Kontextmenü wählt man Publish… aus. Dies startet den Publizierungsprozess. Zuerst werden die Deployment Dateien in entsprechende Pakete verteilt. Die Anwendung wird in die Datei CloudService1.cspkg gepackt und die Service Konfiguration findet man in der Datei ServiceConfiguration.cscfg. Diese Dateien findet man im Publish Verzeichnis des Projektes. Das Dateiverzeichnis wird vom Publish Prozess automatisch geöffnet.

shot45 

Gleichzeitg wird der Webbrowser mit dem Windows Azure Hosting Portal geöffnet. Hier meldet man sich mit der Windows Live ID an

shot46

und wählt das Projekt PDC08 CTP aus.

shot47

Nun wählt man das existierende Projekt aus (in meinem Fall: Meine erste Azure Anwendung)

shot48

und geht auf die “Production” Umgebung. Es hängt jetzt davon ab ob Sie schon eine existierendes Paket am Laufen haben oder nicht. Falls ein existierendes Paket läuft, so drücken Sie bitte den Button “Suspend” und warten bis die Anwendung gestoppt ist um dann den Button “Delete” zu drücken. Nach einigen Sekunden sollten Sie wieder eine leere “Production” Umgebung haben.

shot49

Danach drücken Sie Deploy und geben die entsprechenden Dateien in den Upload Dialog ein, nämlich CloudServer1.cspkg für das Application Package und ServiceConfiguration.cscfg für die Service Configuration. Noch einen Service Deployment Label eintippen und Deploy drücken.

shot50

Für eine ausführliche Beschreibung können Sie sich den Blog Post AzureNow How-To-Guide: Eine Web Anwendung auf Windows Azure Publizieren zu Rate ziehen.

Wenn das Deployment erfolgreich durchgeführt wurde, sind die entsprechend Ressourcen allokiert und Sie können die Anwendung mittels “Run” starten.

shot51

Jetzt warten Sie noch bis der Status auf Started steht und nun können Sie die Anwendung über die Produktions-URL entsprechend im Webbrowser starten

  • Hallo,

    danke für die kleine Einführung. Ich habe leider ein Problemm.

    Wenn ich eine asp:DataGrid Komponente hinzufüge. Ist diese zur Laufzeit nicht sichtbar, jedoch im Designer ersichtlich. Eine HTML Komponente wird ohne Probleme zur Laufzeit angezeigt.

    Der im Browser angezeigte Quelltext beinhaltet gar keine asp:DataGrid Komponente. Zum Test habe ich mittels"aspnet_regiis -i" ASP.NET IIS zugeordnet. Leider ohne spürbaren Erfolg. Zur Installation der benötigten Software habe ich mich an den oben genannten How-To gehalten.

    Bin über jeden Denkanstoß dankbar

    Mfg Janosch

Page 1 of 1 (1 items)