asp.net网页被缓存的问题

时间:2010-04-08 19:39:46

标签: c# asp.net-3.5

我想阻止我的asp.net / c#2008网页在客户端或服务器端缓存。

我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

对于客户端,您要使用No-Cache

http://www.i18nguy.com/markup/metatags.html

这是一个描述如何在服务器端配置没有缓存的响应对象的链接:

http://www.extremeexperts.com/Net/FAQ/DisablingBackButton.aspx

Response.Buffer = True  
Response.ExpiresAbsolute = Now().Subtract(New TimeSpan(1, 0, 0, 0)) 
Response.Expires = 0 
Response.CacheControl = "no-cache"

答案 1 :(得分:1)

页面正在被缓存,因此不在客户端缓存的解决方案是放置此标记:

<%@ Outputcache Location="None"%>
页面标记前的

<%@ page >

结果如下:

<%@ OutputCache Location="None" %>

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

答案 2 :(得分:0)

在您的问题中,您在客户端和服务器上都没有指定缓存。对我来说这意味着没有任何缓存。

这可以防止任何地方发生任何缓存。

Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();

将其放在您不想缓存的页面的加载中或创建基页类。

来自http://skysanders.net/subtext/archive/2010/03/23/preventing-caching-of-content-in-asp.net-pages-and-other-httphandlers.aspx