В моем приложении ASP.NET MVC 2 у меня есть следующие строки:
Response.Cache.SetMaxAge(TimeSpan.FromDays(90));
Response.Cache.SetETag(lastWriteTime.Value.Ticks.ToString());
Используя Fiddler для отслеживания потоков HTTP, я вижу:
ETag: 634473035667000000
в заголовках ответа при работе под IIS7, но когда я работаю под веб-сервером Visual Studio 2010, этот заголовок просто ... исчезает. Независимо от того, установил ли я его через Response.Cache.SetETag () или через Response.AppendHeader («ETag», etag), он просто никогда не будет возвращен.
Это «функция» веб-сервера IIS? Есть какие-то настройки конфигурации, которые я пропустил? Если я должен подключиться к процессу IIS, чтобы иметь возможность что-то отлаживать, то это сделает тестирование недействительным кэша немного затруднительным ...
РЕДАКТИРОВАТЬ: также кажется, что, несмотря на вызов Response.Cache.SetCacheability (HttpCacheability.Public), VS / Cassini всегда возвращает ресурсы с HTTP Cache-Control, установленным в «private» ... это помогает?