Wer von Benutzersteuerelementen noch nichts gehört hat, versäumt ein leistungsfähiges Feature von ASP.NET. Benutzersteuerelemente sind Seitenfragmente, die in Webseiten eingefügt werden können wie Web-Steuerelemente. Der Unterschied besteht darin, dass Benutzersteuerelemente ihr Aussehen in Visual Studio erhalten. Das bedeutet, dass man wieder verwendbare Steuerelemente erstellen kann, ohne – wie dies bei einem Web-Steuerelement der Fall wäre – eigenen HTML-Code schreiben zu müssen.
Noch besser ist dabei, dass Benutzersteuerelemente von Haus aus Caching unterstützen, was die Performance verbessern kann, indem eine vorgerenderte Kopie der Ausgabe des Steuerelements gespeichert wird. Das bedeutet, dass das Steuerelement sogar angezeigt werden kann, ohne dass der Code ausgeführt werden muss. Dies wiederum kann die Performance erheblich steigern, besonders wenn dieselbe Information wiederholt abgerufen wird.
Wie man Benutzersteuerelemente cacht
Das Verfahren zum Cachen eines Benutzersteuerelements in .NET ist ganz einfach: Man fügt einfach eine OutputCache-Direktive am Anfang der ASCX-Datei des Benutzersteuerelements ein. Diese Direktive erfordert einen Parameter, welcher die Dauer, die das Steuerelement im Cache verbleiben soll, in Minuten angibt. Das ist an sich bereits ein äußerst nützliches Feature von ASP.NET. Aber die Funktionalität geht noch darüber hinaus, denn es ist möglich, mehrere Kopien des Steuerelements im Cache zu behalten, je nach den Parametern, die dem Steuerelement übergeben werden.
Das Attribut für die Dauer wird ergänzt durch VaryByParam, VaryByControl oder VaryByCustom. VaryByParam erzeugt unterschiedliche gecachte Kopien des Steuerelements, abhängig vom Querystring und von Formular-Post-Variablen, die für das Formular bereitgestellt werden. Das Attribut VaryByControl ermöglicht die Eingabe eines Strings, der verwendet wird, um die Kopien des Steuerelements im Cache zu unterscheiden. Das Attribut VaryByCustom veranlasst ASP.NET zum Aufruf von HttpApplication.GetVaryByCustomString, um den String, der zur Unterscheidung der gecachten Kopien des Steuerelements verwendet wird, zurückzugeben.
Eine OutputCache-Direktive ohne variierende Parameter sieht wie folgt aus:
Eine einfache Möglichkeit zum Testen der Direktive besteht darin, ein Benutzersteuerelement zu erstellen, welches die aktuelle Zeit anzeigt, dieses in zwei verschiedene Steuerelemente zu kopieren und eines davon mit OutputCache zu versehen. Man kann dann eine Seite erstellen, die beide Steuerelemente enthält. Falls eines von ihnen beim erneuten Laden der Seite die Uhrzeit nicht aktualisiert, weiß man, dass es im Cache zwischengespeichert wurde.
Das Variieren nach Parametern funktioniert prima, wenn die Parameter aus einem Querystring stammen. Ist dies nicht der Fall, funktioniert die Methode nicht.
Page: 1 2
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…