2013-02-24 10 views
5

Wenn ich IIS Rewrite-Modul Datei Cache Hits Zähler aktiviert nicht erhöht.Blockiert URL-Rewriting die statische Cachespeicherung von IIS?

Ich Tracing die Hits von Performance Monitor (perfmon.exe/Web Service Cache/File-Cache-Hits)

Wenn ich deaktivieren das Umschreiben "File Cache-Hits" normalerweise erhöhen nach IIS-Caching-Algorithmus.

Angeforderte Datei ist statische HTML-Datei in beiden Fällen.

Blockiert URL-Rewriting die statische Cachespeicherung von IIS?

+1

Wechseln Sie im IIS-Manager zu Module und Feature öffnen. Klicken Sie rechts auf "Ordnungsliste anzeigen". RewriteModule sollte in der Nähe der Unterseite sein, wenn dies nicht der Fall ist. – Jamey

Antwort

0

The docs state, dass ja, IIS umschreiben kann verhindern Dateicache.

Interaktion mit IIS Output Caching

Die URL Rewrite-Modul steuert die IIS Ausgabe Cache-Verhalten, um zu:

Optimal Kernelmodus und Benutzermodus Ausgabezwischenspeicherung von Antworten für rewritten nutzen URLs, wodurch die Leistung der Web-Anwendung mit URL-Rewrite-Modul verbessert wird. Verhindern Sie das Caching von Antworten, wenn die Caching-Logik aufgrund von URL-Umschreibungen verletzt werden kann. Das Modul steuert die Ausgabezwischenspeicherung, indem bestimmte Caching-Eigenschaften geändert oder das Caching vollständig deaktiviert wird. Das Modul kann das Ausgabecaching nicht aktivieren, wenn es von der IIS-Konfiguration oder von einem anderen Modul in der IIS-Pipeline deaktiviert wurde. Der Ausgang wird caching wie folgt gesteuert:

  1. Das Modul immer setzt die Cache-Benutzermodus einstellen VaryByHeader = "HTTP_X_ORIGINAL_URL". Dies stellt sicher, dass, wenn der Benutzermodus Caching aktiviert ist, das Modul die ursprüngliche URL zu einen Schlüssel für den Cache-Eintrag erstellen berücksichtigt.

  2. Wenn ein Rewrite-Regelsatz Servervariablen mit Werten verwendet, die entweder während der gesamten Lebensdauer des Prozesses konstant sind oder von der angeforderten URL abgeleitet sind, gilt der Regelsatz als sicher für das Ausgabecaching. Diese bedeutet, dass die URL Rewrite-Modul verändern wird nicht Caching bestehende Politik in keiner Weise anders als VaryByHeader Einstellung wie in Schritt

Die folgenden Servervariablen, wenn in Rewrite-Regeln verwendet, nicht Ursache keine Wirkung bei der Ausgabe Caching-Richtlinie:

"CACHE_URL", "DOCUMENT_ROOT", "HTTP_URL", "HTTP_HOST", "PATH_INFO", "PATH_TRANSLATED", "QUERY_STRING", "REQUEST_FILENAME", "REQUEST_URI", "SCRIPT_FILENAME" , "SCRIPT_NAME", "SCRIPT_TRANSLATED", "UNENCODED_URL", "URL", "URL_PATH_" INFO“, "APP_POOL_ID" "APPL_MD_PATH", "APPL_PHYSICAL_PATH", "GATEWAY_INTERFACE" "SERVER_SOFTWARE", "SSI_EXEC_DISABLED"

3.Wenn ein Rewrite-Regelsatz eine Servervariable verwendet, die in der obigen Liste nicht erwähnt wird, gilt der Regelsatz für das Caching der Ausgabe als nicht sicher. Diese bedeutet, dass das URL-Rewrite-Modul das Kernel-Modus-Caching für alle Anfragen deaktiviert, ob die Anfrage-URLs neu geschrieben wurden oder nicht. In Zusätzlich wird das Modul die Zwischenspeicherungsrichtlinie für den Benutzermoduscache ändern, indem die Zwischenspeicherungseigenschaft varyByValue so festgelegt wird, dass sie die verkettete Zeichenfolge aller Servervariablen enthält, die in der Regel festgelegt sind.