У меня есть IHttpHandler, похожий на AssemblyResourceLoader. Он генерирует изображение, а затем отправляет его обратно в браузер.
В AssemblyResourceLoader есть такой блок кода:
HttpCachePolicy cache = context.Response.Cache;
cache.SetCacheability(HttpCacheability.Public);
cache.VaryByParams["d"] = true;
cache.SetOmitVaryStar(true);
cache.SetExpires(DateTime.Now + TimeSpan.FromDays(365.0));
cache.SetValidUntilExpires(true);
Pair assemblyInfo = GetAssemblyInfo(assembly);
cache.SetLastModified(new DateTime((long) assemblyInfo.Second));
Я настроил мой так, чтобы он выдавал те же заголовки, что и AssemblyResourceLoader. Я установил заголовок Last-Modified, и браузер отправляет заголовок If-Modified-Since моему обработчику так же, как это делается с AssemblyResourceLoader. Проблема в следующем: мой обработчик никогда не возвращает 304, как AssemblyResourceLoader. Я не могу найти нигде в коде AssemblyResourceLoader, где он имеет дело с заголовком If-Modified-Since, так что я не знаю, как с ним справиться сам Кто-нибудь знает, где ASP.Net делает это и как я могу получить то же поведение из моего обработчика?
Спасибо.