2010-12-13 3 views
3

Lorsqu'un de mes sites Web est visualisé sur un réseau 3G mobile, l'opérateur de réseau o2 réécrit la page et intègre tous les styles en ligne, ce qui provoque la rupture de la page . Comme les règles de styles ne sont pas suivies correctement.C# Contrôle de cache dans le code ou IIS 6

Maintenant, je comprends des gars de o2 que je peux arrêter cela en ajoutant un titre de contrôle de cache de "no-transform" à mon site.

Le problème est que l'ajout de ceci via IIS ne permet pas de faire quoi que ce soit. et vous ne pouvez pas ajouter le contrôle de cache "no-transformer" via le code dans .net car ce n'est pas l'une des options system.Web.HttpCacheability.

Toute idée de comment je peux obtenir cet en-tête et arrêter la page étant falsifiée par l'opérateur mobile.

Répondre

3

Vous devriez être en mesure d'utiliser la méthode Response.AddHeader, comme celui-ci:

Response.AddHeader("cache-control", "no-transform"); 

vérifié cela avec Firebug, et il semble OK.

+0

Great fonctionne parfaitement, toujours pas pourquoi l'ajouter à l'en-tête IIS vient d'être ignoré, mais jamais l'esprit. – TheAlbear

4

Response.Cache.SetNoTransforms dans Page_Load

1

Sinon, vous pouvez ajouter un élément meta à votre HTML, comme:

<meta http-equiv="Cache-Control" content="no-transform" /> 
+1

Cela devrait fonctionner, mais avec certains opérateurs de réseau comme O2 par exemple, ils l'ignorent simplement, nous réécrivons votre HTML, à moins que ce soit dans la demande d'en-tête. – TheAlbear