Show me the source - Includes aufgelöst
Geschrieben von: Christoph Wille Includes sind sehr praktisch, wenn man Funktionalität in ASP Projekten gezielt wiederverwertbar machen möchte. Der damit erreichte Vorteil der Modularisierung hat einen "Nachteil" - möchte man sich den gesamten Code einer ASP Seite ansehen, wie er von der ASP Engine nach dem Expandieren der Includes ausgeführt wird, dann gibt es zwei Wege: manuell zusammenkopieren, was bei selbst verschachtelten Includes lästig wird, oder mit einem Winkelzug mit dem ISAPI Filter für SSI (server-side includes) automatisch anzeigen. Die erste Variante ist definitiv nicht zu empfehlen, außer man hat höchstens zwei oder drei Includes in Verwendung (und will nicht regelmäßig verschiedenste Dateien eines Projektes betrachten). Werden es mehr oder die Sourcereviews häufiger, dann empfiehlt es sich, den ISAPI Filter für server-side Includes zweckzuentfremden. Bei dieser Methode gäbe es wieder zwei Varianten: die ASP Dateiendung (temporär) auf den ISAPI Filter zuweisen, oder eine zweite Site einrichten, die generell ASP auf diesen Filter gemappt hat, und nur zum Sourcecodelesen dient. Der heutige Artikel beschäftigt sich mit der zweiten Variante, da diese den Vorteil hat, sicherer zu sein: man zerstört nicht das Setup der echten Site, und man kann die zweite Site besser absichern. Allerdings gibt es einen Nachteil: es ist mehr Arbeit, die "Sourcesite" parallel zur echten Site zu führen. Einrichten der SiteIch habe ein Kochrezept zusammengestellt, um eine Site zu erstellen, die nur dem Lesen von Sourcecode dient. Der erste Schritt ist das Erstellen einer neuen Site, bevorzugt auf einem anderen Port als 80 - ich habe hier 8181 gewählt: Diese Site - STM Site - spiegelt die Hauptsite Default Web Site: Wichtig: hat man virtuelle Verzeichnisse in der Hauptsite, so muß man diese auch in der "Sourcesite" anlegen. Weil ich gerade von Source rede - wie kommt man denn nun an den expandierten Source einer Datei, die mehrere Includes enhält? Nun, dazu muß man die Dateiendung ASP auf den ssinc.dll ISAPI Filter ummappen (unter Home Directory/Configuration): Aus Sicherheitsgründen habe ich alle unnötigen Mappings bis auf .asp und .asa herausgelöscht. Danach habe ich das Mapping editiert: Alles, was man tun muß, ist per Browse den Filter von asp.dll auf ssinc.dll umzustellen (beide liegen im gleichen Verzeichnis). Die gleiche Prozedur auch noch für die .asa Erweiterung, daß man sich auch die global.asa's expandiert ansehen kann. Eine freiwillige Sicherungsmaßnahme ist diese: Damit schränkt man ein, wer Zugriff auf diese Site haben soll. Im Entwicklungsstadium ist es zwar nicht so "heiß", allerdings tut dieser geringe Mehraufwand sicherlich nicht "weh". Es soll ja auch weniger vertrauenswürdige Kollegen im Firmennetzwerk geben, die keinen Zugriff auf den Code bekommen sollen (nicht einmal zufällig). Show me the sourceNach dieser Einrichtungsarbeit kann man schon auf seine Codeseiten surfen. Allerdings wird in den meisten aller Fälle nichts oder HTML Fragmente angezeigt. Rechte Maustaste und View Source sind angesagt: Und damit hat man dann den expandierten ASP Sourcecode vor sich, nachdem alle Includes eingebaut wurden. Wer sich übrigens fragt, ob Include-Anweisungen in Includedateien ebenfalls expandiert werden: ja. Im Dowload ist ein kleines Beispiel für den Selbstversuch mit dabei. SchlußbemerkungEs wird sicherlich nicht oft vorkommen, daß man auf diese Technik zurückgreifen muß. Aber manchmal wird ein Fehler nur im Gesamtkontext sichtbar, beziehungsweise zwingen Dokumentationsrichtlinien dazu, den gesamten Code einer Seite in die Projektdokumentation aufzunehmen - und dann ist diese Technick sehr nützlich! Download des CodesKlicken Sie hier, um den Download zu starten. Verwandte Artikel
Eine IP Adresse für mehrere Websites Wenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |