none
[Info] Windows Azure Tipps #5

    Allgemeine Diskussion

  • Hallo zusammen,

    heute möchte ich mal der Frage nachgehen: Wie bekomme ich ein Custom HTTP – Module zum Einsatz, wenn die Anwendung in Windows Azure gehostet ist?

    Was ist ein HTTP – Module?

    Entwickler können HTTP – Module verwenden um Anforderungen abzufangen, an ihrer Ausführung teilzunehmen bzw. die Ausführung zu verändern. Einstiegspunkte sind jeweils der Beginn und das Ende eines Request.

    Ok, Theorie ist furchtbar. Verständlicher wird das Ganze mit einem Beispiel. Nehmen wir mal an ich habe eine Webseite, die nur für Zugriffe bestimmter IP Ranges (z.B. dem Firmennetzwerk) zugänglich sein soll. Mit einem als HTTP-Module realisierten IP Filter, kann ich zum Beginn des HTTP – Request die IP Adresse des Aufrufers erfassen und je nach Ergebnis den Zugriff zulassen oder den Aufrufer auf eine Fehlerseite umleiten.

    Das HTTP – Modul auf einen Web Server nutzbar zu machen ist relativ einfach. Was ist aber wenn der Web Server in der Cloud liegt? Ein direkter Zugriff ist nicht möglich und geänderte Installationen sind auch nicht persitent.

    Hier der Lösungweg:

    • Legt ein Cloud Projekt im Visual Studio an
    • Fügt über den Solution Explorer ein Class Library Projekt (das HTTP-Modul) hinzu
    • Das  Class Library Projekt benötigt Referenzen auf System.Web und Microsoft.WindowsAzure.ServiceRuntime und entsprechende Using bzw. Imports Direktiven
    • Jetzt müsst ihr das Interface IHttpModule aus System.Web und euren eigenen Code implementieren
    • Im Webrole Projekt eurer Solution fügt ihr eine Referenz auf das HTTP-Modul Projekt hinzu

    Rein von der Entwicklung war es das schon. Jetzt müsst ihr nur noch die Web.config eures Webrole – Projektes ändern. Fügt folgenden Abschnitt ein:

    Eine Anmerkung noch: Die markierte Zeile muß auf “true” stehen, dann steht einer Nutzung des Moduls nichts mehr im Weg.

    Schöne Grüße

    Oliver

    [Orginalpost: http://wazcommunity.wordpress.com/2012/05/22/windows-azure-tipps-5/ ]

    Mittwoch, 23. Mai 2012 11:23
    Moderator