Montag, 31. Oktober 2011

10 - Layouts

Auch ein einfacher Webauftritt besteht aus vielen einzelnen Seiten. Es wäre mühsam, jedesmal den gesamten Rahmen in jede Seite einzubauen. Aus diesem Grund gibt es in WebMatrix die Layouts. Der Aufruf erfolgt natürlich via Razor und ist wie üblich sehr einfach gehalten:

Die erste Zeile spezifiziert die Layout Seite, auf der zweiten Zeile kann der Seitentitel angegben werden.
Die Seite '_SiteLayout.cshtml' enthält die allen Seiten gemeinsamen Spezifikationen. Der '_' bedeutet in WebMatrix dass die Seite von aussen nicht zugänglich ist. Gerade bei Privat Keys wie sie z.B. für die Captchas benötigt werden ist das natürlich essentiell. Beim Seitenlayout wäre ein direkter Zugriff zwar nicht schlimm aber sinnlos.

Nun bearbeiten wir noch die oben erwähnte Seite _SiteLayout.cshtml. Wir wollen hier nämlich noch die Menueinträge ergänzen:

Der Aufruf wird aber noch nicht funktionieren, weil wir die Seite 'Adress_Input' erst in der nächsten Folge erstellen.

Eine gute Übersicht über Layouts findet ihr hier und hier.

Sonntag, 30. Oktober 2011

11 - SOAP Service mit XML und LINQ parsen

In vorangehenden Beiträgen wurde schon ein paarmal aufgezeigt, was mit einigen wenigen Codezeilen alles erreicht werden kann.

Jetzt wollen wir uns einmal anschauen, wie die Mächtigkeit des .net Frameworks genutzt werden kann. Dazu gibt es das folgende Tutorial. Darin wird gezeigt, wie von einem amerikanischen Wetterdienst XML Daten geparst und in eine SQL Datenbank geschrieben werden können.


So sehen die Rohdaten aus. Uns interessieren die Minimum- und die Maximum Temperatur.





Leider enthält das Tutorial zwei kleine Fehler:
  • In der ersten Zeile der Seite 'Weather.cshtml' muss unbedingt die folgende Deklaration eingefügt werden: @using System.Xml.Linq;
  • Der Aufruf der Hauptfunktion muss natürlich 'public' deklariert sein und lautet dann wie folgt: public static Temperature GetWeather(string zipcode){
Man begegnet zunehmend dieser Art von Services, indem Daten in einem vorgegebenen Format (meistens XML) zur Verfügung gestellt und automatisch abgerufen werden können. In der Regel geschieht das mittels SOAP (Simple Object Access Protocol). Leider ist das Protokoll aber nicht wirklich simpel. Die Thematik ist recht komplex und sprengt den Rahmen dieses Blogs bei weitem. Es lohnt sich, jeweils nach entsprechenden Templates zu suchen. Ein prominente Seite ist. z.B. Amazon. So ist das Format auch im oben gezeigten Fall eigentlich nicht XML sondern DWML (Digital Weather Markup Language). DWML ist aber XML kompatibel.