Как было бы, если бы вы установили кэширование для всего сайта, а затем на страницах не хотели бы, чтобы анонимные пользователи получали кэшированный контент, вы добавляете что-то вроде этого в:
protected override void OnInit(EventArgs e)
{
if (user.IsAnonymous())
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);
}
base.OnInit(e);
}
Который будет производить это:
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Length: 15965
Content-Type: text/html; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Mon, 03 Aug 2009 01:07:26 GMT
Это должно привести к тому, что веб-страница не будет кэшироваться, но какое бы кэширование ни применялось к изображениям, CSS, JS и т. Д. Должно остаться. Если к изображениям не применяются к ним заголовки кэширования, то, похоже, вам придется написать собственный обработчик http, чтобы перехватить запрос к этим изображениям, а затем применить правильные заголовки кэширования вместе с настройкой для каждой страницы, какие страницы Вы не хотите кэшироваться.