これは、この質問の.NETバージョンである可能性があります。
次の画像スクリプトがあります。
...
Response.WriteFile(filename);
Response.End();
次の書き換えルールを使用して.jpgファイルを書き換えていますweb.config
:
<rule name="Image Redirect" stopProcessing="true">
<match url="^product-images/(.*).jpg" />
<conditions>
<add input="{REQUEST_URI}" pattern="\.(jp?g|JP?G)$" />
</conditions>
<action type="Rewrite" url="/product-images/ProductImage.aspx?path=product-images/{tolower:{R:1}}.jpg" />
</rule>
基本的には、画像パスをクエリパラメータに書き換えるだけです。
問題は、(もちろん断続的に)Mossoが新しいASPセッションCookieを返し、それが全世界を破壊することです。
- 静的な.jpgファイルに直接アクセスしても、この問題は発生しません。
- イメージスクリプトに直接アクセスしても、それは発生しません。
- .jpgファイルを.aspxスクリプトに書き換えるだけで、セッションが失われます。
これはリダイレクトループではありません。画像は表示されますが、キャッシュサーバーは新しいセッションCookieを送信します。これにより、セッションがリセットされます(ホスト名からのものであるため)。
私が試したこと
(Rackspaceのドキュメントからキャッシュをバイパスするにはどうすればよいですか?)
Private
画像スクリプト自体にキャッシュ機能を追加しました。
Response.Cache.SetCacheability(HttpCacheability.Private);
これらのキャッシュ無効化ノードをweb.configに追加してみました。
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
と
<httpProtocol>
<customHeaders>
<add name="Cache-Control private" value="Cache-Control private"
</customHeaders>
</httpProtocol>
必要なソリューション
ブラウザのキャッシュを無効にすることはできません。Cache.SetNoStore()
これは、機能する、または機能しない可能性のあるソリューションを意味しHttpCacheability.NoCache
ます。
または...
これを修正できない理由を教えてください。