2011-10-26 5 views
3

私のサイトでは、ユーザーは一般公開されている画像をアップロードすることができます。ユーザーが新しいイメージをアップロードすると、古いイメージの1つが上書きされます。asp.netでイメージのetagsを生成していますか?

イメージが大きくなる可能性があるため、それらをキャッシュする必要があります。ただし、ユーザーが新しいイメージをアップロードする場合、古いキャッシュイメージは使用しないでください。

userImage.ashx?id=f488b864-0a0b-46d9-af4a-a43cd0dcf751&type=micrositePhoto 

私がする必要があるのであれば、私は.ashxファイルでの応答にヘッダを挿入することができます

動画像のソースは、次のようになります。

I've been toldこの目的のためにetagsを使用するが、私はasp.netでこれを行う方法を知らない。私のサイトの.js.cssファイルには既にetagがありますが、何が生成されているのかわかりません。また、etagsを生成する組み込みシステムは、おそらく私の.ashxファイルの仕組みを理解できないでしょう。

サイトのetagを生成し、想定通りに動作するようにするにはどうすればよいですか?

答えて

1

たとえば、あなたが行うことができるはずように私には見える:一度のETagは、それが必要とする画像で返されNOTE明らか、

Response.AddHeader("ETag","\"" + Guid.NewGuid().ToString() + "\""); 

てETagが"

の内部に封入されなければなりません後続の要求で同じになるようにします。上記の私のコードは単なる概念証明でした。 :)

編集:はい、ちょうど、私が作成したGUIDがレスポンスヘッダーに含まれていることをFirebugでテストして確認しました。

+1

これは、すべてのリクエストで新しいGUIDを作成するようですが、実際にはあなたが望むものではありません。たとえば、ファイルの内容のハッシュを取るなど、何らかの形でエタグをコンテンツに関連付ける必要があります。 –

+0

@MatthewWilsonもちろん、新しいGuidを作成します。 *これは例です*;明らかに、物事がキャッシュされるならば、すべての要求に対してGUIDは同じでなければなりません。私はそれを明確にします。 – Icarus

+0

このようなヘッダーを追加するだけでいいです。場合によってはasp.netインフラストラクチャが途切れることもあります。私は本当にetags一貫性を維持するいくつかの方法が必要です - 私はCRCsと多分何か考えていた?私はまた、キャッシュの上書きなど、彼らが想定しているように動作させるために、私がetagsで何をすべきかを知る必要があります。 – Oliver

関連する問題