Ich hatte beim Deployment einer ASP.NET Anwendung das Problem, dass mehrere Aspx-Seiten über eine OutputCache Direktive verfügten, die von den Entwicklern auf ihren Entwicklerrechnern immer wieder geändert wurden um beim Debuggen den Cache abzuschalten.


Leider ist es öfters passiert, dass diese Änderungen aus Unachtsamkeit ihren Weg in unsere Versionsverwaltung gefunden haben und somit auch auf den Webservern für eine erhöhte Last gesorgt haben.


Das Problem lässt sich einfach umgehen, indem man den OutputCache nicht direkt in der Aspx-Seite konfiguriert, sondern in der Web.config Cache-Profile [1] anlegt und diese dann den Aspx-Seiten zuweist. Da bei uns jeder Entwickler für seine Web.config verantwortlich ist und diese nie in die Versionsverwaltung gelangen, eine perfekte Lösung. Und so einfach geht es:


Aus

<%@ OutputCache Location="ServerAndClient" VaryByParam="*" Duration="180"%>
 
in der ASP Seite wird

<%@ OutputCache CacheProfile="DefautCache"%>
 
in der Web.config werden dann unter folgende Einträge hinzugefügt:

<caching>
  <outputCacheSettings>
    <outputCacheProfiles>
      <addname="DefaultCache"duration="180"
        location="ServerAndClient"
        varyByParam="*"/>

    </outputCacheProfiles>
  </outputCacheSettings>
</caching>
 

Vorteile:
• Nun muss der Entwickler nur noch einen Parameter in seiner Web.config ändern um den Cache abzuschalten
• andere Cache-Zeiten können nun zentral in der Web.config konfiguriert werden
• Durch die Möglichkeit mehrere Profile zu erstellen bleibt man flexibel, auch bei unterschiedlichen Anforderungen in verschiedenen Seiten

[1] MSDN How to: Set the Cacheability of an ASP.NET Page Declaratively



Trackbacks


Trackback-URL für diesen Eintrag
    Keine Trackbacks

Kommentare


    Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA