Webhoster aufgepasst: Schön langsam (vor allem mit Silverlight 2) drängen immer mehr Silverlight Applikationen auf den Markt. Wenn Sie Webserver betreiben, konfigurieren oder auch Webapplikationen programmieren ist es natürlich gut zu wissen, was getan werden muss, um Silverlight Webapplikationen zu hosten.

silverlightlogo

Die gute Nachricht voran: eigentlich (fast) nichts.
Was tatsächlich installiert werden muss, hängt vom Windows Betriebssystem, dem .net Framework und dem Patch-Zustand ab.

Silverlight-Applikationen in ASP.NET Webprojekten benötigen natürlich das entsprechende .net Framework 3.5 SP1 (hier ist das benötigte AJAX inkludiert): .net Framework 3.5 SP1.

Tipp: silverlight.net GetStarted zeigt, welche Tools und Service Packs Entwickler zum Erstellen von Silverlight-Applikationen benötigen, für Developer geht´s hier zum Visual Web Developer 2008 Express Edition SP1.

Silverlight-Applikationen besitzen neue Filetypen und liefern im Verzeichnis ClientBin gepackte XAML-Dateien mit der Erweiterung .xap aus (zum Anschauen einfach die .xap-Datei in .zip umbenenn und entpacken). Damit sie das tun dürfen, muss der IIS die Web-Erweiterung kennen. Das bedeutet, die entsprechenden MIME-Types müssen einmalig eingetragen sein.

In Windows Server 2008 und Windows Vista SP1 (IIS7) sind die MIME-Types standardmäßig bereits vorhanden, d.h. hier sind keine zusätzlichen Schritte nötig!

In Windows Server 2003 (IIS6) müssen die MIME-Types noch eingetragen werden, am besten gleich alle drei Erweiterungen:

.xap application/x-silverlight-app
.xaml application/xaml+xml
.xbap application/x-ms-xbap

Wie trägt man die MIME-Types ein? Die IIS Verwaltung öffnen (InetMgr.exe) und in den Eigenschaften des Webservers zum Button MIME-Types:

iis6-mime-types-1

In der folgenden Dialogbox jeweils mit "Neu" die obigen Erweiterungen (.xap, .xaml, .xbap)  mit den entsprechenden MIME-Type eintragen:

iis6-mime-types-2

Das war´s! Der IIS6 erlaubt nun das Senden dieser neuen Filetypen und die Silverlight-Applikation sollte vom Client-Browser aufrufbar sein.

PS: Es ist übrigens keine gute Idee in Produktivsystemen das Jokerzeichen * als MIME-Type einzutragen, da sonst alle Filetypen vom IIS ausgeliefert werden - und das darf natürlich nicht sein.

Learn.iis.net - Configuring IIS for Silverlight Applications liefert auch noch Alternativen zum Eintragen der MIME-Types per applicationHost.config und per Script, ebenso das Blog von Tim Sneath zum Schummeln (wenn Sie keinen administrativen Zugriff zum IIS besitzen) und KB326965. Übrigens ist die URL learn.iis.net immer ein guter Tipp für Hoster!

Beitrag von Toni Pohl