C# 如何使用ASP.NET删除浏览器的缓存服务器端?

C# 如何使用ASP.NET删除浏览器的缓存服务器端?,c#,asp.net,C#,Asp.net,如何使用ASP.NET C删除浏览器的缓存服务器端 一张优惠券本身显示,我相信它来自缓存,因为我也浏览了其他服装网站。它破坏了我的JavaScript和服务器端代码,因为我正在使用用于Ajax的UpdatePanel,并且它复制了UpdatePanel的ID。我已经重命名了UpdatePanel的ID,但这没有什么区别。它生成无效的视图状态异常。优惠券名称为FastSave 我所尝试的: Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-

如何使用ASP.NET C删除浏览器的缓存服务器端

一张优惠券本身显示,我相信它来自缓存,因为我也浏览了其他服装网站。它破坏了我的JavaScript和服务器端代码,因为我正在使用用于Ajax的UpdatePanel,并且它复制了UpdatePanel的ID。我已经重命名了UpdatePanel的ID,但这没有什么区别。它生成无效的视图状态异常。优惠券名称为FastSave

我所尝试的:

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

您可以按如下方式停止缓存:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetExpires(DateTime.Now);
    Response.Cache.SetNoServerCaching();
    Response.Cache.SetNoStore();
}

下面是我在ASP.NET MVC 2应用程序中设置客户端浏览器缓存的方法:

public class CacheFilterAttribute : ActionFilterAttribute {

    /// <summary>
    /// Gets or sets the cache duration in seconds. The default is 10 seconds.
    /// </summary>
    /// <value>The cache duration in seconds.</value>

    public int Duration { get; set; }

    public CacheFilterAttribute() { Duration = 10; }

    public override void OnActionExecuted(ActionExecutedContext filterContext) {
        if (Duration <= 0) return;

        var cache = filterContext.HttpContext.Response.Cache;
        var cacheDuration = TimeSpan.FromSeconds(Duration);

        cache.SetCacheability(HttpCacheability.Public);
        cache.SetExpires(DateTime.Now.Add(cacheDuration));
        cache.SetMaxAge(cacheDuration);
        cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
    }
}
你不能


您可以告诉客户机不要缓存某些内容,但一旦缓存完成,就没有服务器端机制来清除缓存。你必须等待缓存过期或用户清除缓存。

你到底想做什么?出于某些原因,我正在尝试删除我的客户端缓存。在互联网上,如果远程服务器可以在本地计算机上执行此类操作,这将不是一个很好的地方……请参考你的评论,我相信它是从缓存里来的,您是否使用工具检查响应并查看缓存的数据来自何处,从而检查是否确实如此?并声明,如果任何内容已缓存在其他任何位置,则不会取消缓存。实际上,有一个优惠券显示,我相信它来自缓存,因为我也浏览了其他apperelsites.,中断了我的javascript和服务器端代码,因为updatePanel用于ajax,它复制了updatePanel的ID。我重命名了updatePanel的ID。但没有区别。它生成无效的视图状态异常。请提供帮助。请用这些信息编辑您的问题。在单个答案的评论中添加这些信息是没有帮助的。