動的に生成された画像にキャッシュ応答ヘッダーを設定しようとすると、奇妙なエラーが発生します。
ArgumentOutOfRangeExceptionがユーザーコードによって処理されませんでした
指定された引数が有効な値の範囲外でした。
パラメータ名:utcDate
データキャッシュからファイルの最後の書き込み時間を読み取ってから、
Response.Cache.SetLastModified(lastWriteTime.Value.ToUniversalTime());
最後の書き込み時間の値は{2011-07-25 18:09:56}
、予想どおりです...なぜこれがうまくいかないのかわかりません。
このメソッドのMSDNドキュメントには、かなり不可解なステートメントが含まれています(私の強調)。
Last-Modified HTTPヘッダーは、ドキュメントが最後に変更された日時を示すDateTime値でドキュメントにタイムスタンプを付けます。
キャッシュ制限階層に違反すると、このメソッドは失敗します。
SetLastModifiedは、.NETFrameworkバージョン3.5で導入されました。詳細については、.NETFrameworkのバージョンと依存関係を参照してください。
キャッシング制限階層とは何ですか?私は違反していますか?そうでない場合、最後に変更された時刻が拒否されるのはなぜですか?