- PR -

ASP.NETでページキャッシュさせない方法

投稿者投稿内容
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2006-10-24 09:38
みなさんレスありがとうございます。
返信遅くなってすみません。

>yuko様
<%@ OutputCache Location="None" VaryByParam="None" %>
入れてみましたが、変化なしでした。

>かずくん様
試してみましたが、変化なしでした。

>どっとねっとふぁん様
>ちょくぱん様
>Jitta様

どっとねっとふぁん様のご指摘の通り、画像データがキャッシュされていると思います。他のテキストデータに関しては正しく更新されます。

Jitta様の言われているのは?
やっているのは、ページBでhoge.jpgを出力して、ページAで imgPhoto1.ImageUrl = "hoge.jpg"としています。
ページBで画像データを更新してもファイル名はそのままhoge.jpgのままです。

画像データのキャッシュと言うのは、HTMLレベルでは制御できないのでしょうか?
IEでF5キーを押すと画像も更新されるので・・・何らかの方法で出来るのだと思って
いました。
しかし、HTMLもしくはWEBサーバー側(HTTPヘッダ情報?)で制御ができないとする
とIEのF5(更新)はブラウザ固有の機能なんでしょうか?たとえば、全てのキャッシュ
を無効にして読み直す。みたいな・・・

しゅくぱん様やどっとねっとふぁん様が言うように、ファイル名変えないとダメなんでしょうか・・・
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-10-24 09:53
引用:

FXさんの書き込み (2006-10-24 09:38) より:

どっとねっとふぁん様のご指摘の通り、画像データがキャッシュされていると思います。他のテキストデータに関しては正しく更新されます。


画像のキャッシュをやめたいのなら、
しょくぱんさん がおっしゃっているように、
<img src="image.gif?年月日時分秒" /> のようにすると、
ブラウザが新しいファイルだと勘違い(?)して毎回取得してきませんか?
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-10-24 10:13
HTMLレベルでは(そもそも画像データはHTMLファイルじゃないし)指定できませんが、HTTPレベルでは指定できます。HTTPヘッダのCache-Control辺りの指定が相当します。但し、この設定を変更するにはIIS全体の設定を変更するか、ASP.NETを介して(img src=imaeg.aspx)画像データを読み出すか、と言う話になります。

キャッシュの制御に関しては、以下を参照
http://www.microsoft.com/japan/msdn/columns/asp/asp03282002.aspx

_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2006-10-24 11:25
>かるあ様

アドバイスありがとうございます。
しょくぱん様の書き込みを勘違いしていました。ファイル名そのものを時分秒を付けて
更新の度にユニークにするのですね。
勉強不足でimgタグのsrc指定で?d=というのを付けられるのを知りませんでした。

早速、以下のようにしてみたのですがやはり変化なしでした。
この方法でいけそうなのですが、何か記述が誤っているのでしょうか?
以下に出力しているimgタグを載せます。
ちなにみ追加している時分秒は過去と未来にしましたが、両方ともだめでした。

<img src="../dataimage/car/aman/60_1_thum.jpg?d=20061024120259" alt="" border="0" />
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2006-10-24 11:33
>甕星様

ちょっと大掛かりですね。クエリ文字の追加でどうにか出来そうなので、そちらで
対応したいと思います。
URLは参考になりました。

ありがとうございます。

スキルアップ/キャリアアップ(JOB@IT)