Windows .NET Server RC1

IIS 6.0 und ASP.NET

Die neue Version 6.0 des Internet Information Server stellt einen Kernbestandteil der .NET-Features dar. Allerdings war der Webserver in früheren Versionen massiv in Verruf geraten, weil er in den Augen vieler ein eklatantes Sicherheitsrisiko darstellt. Nicht zu Unrecht, wie Nimda und Konsorten gezeigt haben. In der Version 6 soll der IIS endlich sicher sein, verspricht die Entwicklungsabteilung aus Redmond.

Das erste Sicherheits-Feature ist, dass der IIS nicht per Default installiert wird. Bei nachträglicher Installation liefert er zunächst nur statische HTML-Seiten aus. Dynamischer Content via SSI, ASP oder ASP.NET muss separat eingerichtet und eingeschaltet werden.

Über einen so genannten Worker Process (w3wp.exe) werden dynamische Inhalte ausgegliedert. Dieser Prozess lässt sich mehrfach starten, um beispielsweise eine bessere Skalierung auf SMP-Systemen zu erreichen und die einzelnen Applikationen voneinander abzuschotten. Hängt sich eine auf, so sind andere davon nicht betroffen. Ein weiteres wichtiges Feature von ASP.NET 1.1 ist, dass es weitere Instanzen des Worker Process starten kann. Das kann man auch so konfigurieren, dass zum Beispiel nach einer bestimmten Zeit oder einer konfigurierten Anzahl bedienter Anfragen quasi ein "Recycling" erfolgt. Damit wird verhindert, dass eine schlecht programmierte Anwendung so nach und nach Speicher in einem schwarzen Loch verschwinden lässt.

Ebenfalls neu ist, dass die Konfiguration des IIS nicht mehr im Binärformat abgelegt wird, sondern in einer XML-Datei. Damit ist die Konfiguration mittels eines Texteditors einfach zu verändern oder per Dateikopie auf einen anderen Rechner zu übertragen.

Einen deutlichen Performance-Schub soll die Verlagerung einiger Bestandteile des IIS in den Kernel-Mode des Betriebssystems bringen (http.sys). Ein Teil der Verarbeitung wie Antwort-Queue, Namespace Mapper oder Cache lagern hier. Kann eine Anfrage komplett aus dem Cache bedient werden, entfällt der Zeit raubende Kontextwechsel von Kernel-Mode nach User-Mode.