首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使输出缓存过期ASP.Net MVC

作为一个云计算领域的专家,我可以告诉你,在ASP.Net MVC中,使输出缓存过期的方法有很多种。以下是一些常见的方法:

  1. 使用OutputCacheAttribute

可以在控制器或Action方法上使用OutputCacheAttribute来设置缓存过期时间。例如:

代码语言:csharp
复制
[OutputCache(Duration=60)]
public ActionResult Index()
{
    return View();
}

这将会缓存Index视图1分钟,然后过期。

  1. 使用CacheProfile

可以在Web.config文件中定义CacheProfile,然后在控制器或Action方法上使用OutputCacheAttribute来引用这个CacheProfile。例如:

代码语言:xml<system.web>
复制
    <caching>
       <outputCacheSettings>
           <outputCacheProfiles>
                <add name="Cache1Hour" duration="3600" />
            </outputCacheProfiles>
        </outputCacheSettings>
    </caching>
</system.web>
代码语言:csharp
复制
[OutputCache(CacheProfile="Cache1Hour")]
public ActionResult Index()
{
    return View();
}

这将会缓存Index视图1小时,然后过期。

  1. 使用HttpResponse.RemoveOutputCacheItem

可以在控制器或Action方法中使用HttpResponse.RemoveOutputCacheItem来删除指定的缓存项。例如:

代码语言:csharp
复制
public ActionResult Index()
{
    HttpResponse.RemoveOutputCacheItem("/Home/Index");
    return View();
}

这将会删除指定的缓存项,然后重新生成缓存。

  1. 使用HttpResponse.Cache.SetExpires

可以在控制器或Action方法中使用HttpResponse.Cache.SetExpires来设置缓存过期时间。例如:

代码语言:csharp
复制
public ActionResult Index()
{
    HttpResponse.Cache.SetExpires(DateTime.Now.AddMinutes(60));
    return View();
}

这将会缓存Index视图1小时,然后过期。

总之,使输出缓存过期的方法有很多种,可以根据具体的需求和场景来选择合适的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET 4 AppFabric 输出缓存提供程序

隐式缓存使用的两个例子包括ASP.NET会话状态和HTML页面缓存(即输出缓存)。...使用 AppFabric 缓存时,第四个会话提供程序在技术上是可行的,但是应当小心不要将会话与缓存混淆。缓存用于提高性能,会话用于使应用程序达到一定的状态。...关于ASP.NET 4.0的Output Cache的使用,请参考ScottGU的VS 2010 和 .NET 4.0 系列之《ASP.NET 4中的可扩展输出缓存》篇。...ASP.NET开发团队在codeplex上发布了ASP.NET 4 Providers for AppFabric Caching,里面有两个提供者ASP.NET会话状态和HTML页面缓存(即输出缓存)...同样地,如果我将[OutputCache]特性加到某个ASP.NET MVC控制器的任意一个action方法上时,内容也会通过使用我的ScottOutputCache提供器被缓存和保存起来: ?

2K90
  • 高性能缓存系统Memcached在ASP.NET MVC中应用

    在Memcached中实体类型未经序列化不能在Memcached中缓存,因此需要对实体类进行处理,才能缓存下来....我们可以使用Memcached缓存string类型等已经内部实现了序列化的类型,但是对于我们自定义的类型,我们并不能在Memcached中缓存下来,因为Memcached只能缓存序列化之后的数据,因此,...ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 在项目的引用中引入Memcached.ClientLibrary.dll 随后就是编写程序了,在这里创建一个MVC...Response.Cookies["_EntityMemcached"].Expires = DateTime.Now.AddMinutes(1);//设置cookie过期时间...MemcachedHelper.set(sessionId, vipInfo, DateTime.Now.AddMinutes(1));//设置缓存过期时间

    19620

    探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.html#mvc...本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers...缓存这东西并不是MVC独有的,N年前就有了,简单介绍一下平时项目里面使用的(Redis,Memcache等下次说) 1.页面缓存: ?...:(System.Web;System.Web.Caching;) 2.1绝对过期缓存 HttpRuntime.Cache.Add(key, list, null, DateTime.Now.AddSeconds...2.2相对过期缓存(有点Session的感觉了) HttpRuntime.Cache.Add(key, list, null, Cache.NoAbsoluteExpiration, new TimeSpan

    1K50

    Asp.net mvc 知多少(九)

    系列导航 Asp.net mvc 知多少(一) Asp.net mvc 知多少(二) Asp.net mvc 知多少(三) Asp.net mvc 知多少(四) Asp.net mvc 知多少(五)...Asp.net mvc 知多少(六) Asp.net mvc 知多少(七) Asp.net mvc 知多少(八) Asp.net mvc 知多少(九) 本节主要讲解缓存的使用 Q87....如果要缓存经常变化但又经常访问的动态内容,可以定义一个短暂的缓存过期时间来实现。 Q88. 缓存的好处是什么? Ans. 主要有以下几点: 减少寄宿服务器的往返调用(round-trips)。...什么是output caching(输出缓存)? Ans. OutputCache过滤器允许你缓存一个action的输出数据。默认该过滤器只缓存60s。...60s后,ASP.NET MVC会重新执行action并再次缓存输出

    84280

    asp.net mvc输出自定义404等错误页面,非302跳转。

    朋友问到一个问题,如何输出自定义错误页面,不使用302跳转。当前页面地址不能改变....还要执行一些代码等,生成一些错误信息,方便用户提交反馈. 500错误,mvc框架已经有现成解决方法: filters.Add(new HandleErrorAttribute()); 404错误目前想到的解决方法...1.如果不加这行代码,默认输出的是:text/html; 浏览器直接输出内容,不做解析. httpContext.Response.ContentType = "text/html; charset=utf...-8"; 2.iis不会使用gzip压缩,不管输出的404错误页面有多大,都不会自动压缩.所以使用下面这种替换方式.   ...[Compress] public class SysController : Controller 猜测: mvc 在action的Execute阶段后 还做了不少事情,比如上面提到的1,2点

    1.3K10

    关于 ASP.NET 内存缓存你需要知道的 10 点

    缓存机制的主要目的是提高应用程序的性能。作为 ASP.NET 开发人员,你可能会意识到 ASP.NET Web 窗体以及 ASP.NET MVC 可以使用 Cache 对象缓存应用程序的数据。...内存缓存需要在启动类 Startup 中启用一下 不同于 ASP.NET Web 窗体和 ASP.NET MVCASP.NET Core 没有内置的 Cache 对象,可以拿来在控制器里面直接使用。...你也可以在一个缓存项上面设置一个绝对和滚动的过期时间。...一个绝对的过期设置意味着该缓存项会在严格指定的日期和时间点被移除,而滚动过期设置则意味着它在给定的一段时间量处于空闲状态(也就是没人去访问)之后被移除。...可以这样理解,过期令牌能让你有权利让一个缓存过期。如果令牌处于活动状态的话,则缓存项就会在缓存中维持,而如果令牌被取消掉了,则该缓存项就将从缓存中删除掉。

    1.2K20

    通过Mono 在 Heroku 上运行 .NET 应用

    我的目标是能够在Windows上使用Visual Studio创建一个ASP.NET MVC解决方案去创建一个Heroku的应用程序。...开始 为了使用这个 .NET 编译包,先创建一个 ASP.NET MVC 4  网站,然后启用 NuGet 包仓库。...TestingMono 是一个相当简单的的MVC网站,有一个后台线程每秒输出一条消息。 为了运行这个后台线程,添加一个 Procfile 来启动命令行线程:mono WorkerTest.exe。...总结 能够正常运行的: 在 Mono 3.0.11 和 XSP 3.0.11 中运行 ASP.NET MVC 4. NuGet 包仓库 所以你不用手动添加你的依赖库。...编译输出缓存及增量编译,包括已下载的 NuGet 包的缓存。 运行 EXE文件以作为后台工作线程。 需要添加额外处理的: 向 Web.config 中的 appSettings 添加配置项。

    3.2K60

    ABP入门系列(13)——Redis缓存用起来

    现在我们来使用缓存技术对其优化。首先我们应该想到了Asp.net mvc自带的一套缓存机制,OutputCache。 3.2....使用[OutputCache]进行缓存 如果对OutputCache不了解,可以参考我的这篇文章Asp.net mvc 知多少(九)。...1200s后,ASP.NET MVC会重新执行action并再次缓存。...但由于我们是Demo性质只是为了演示用法,所以我们设定缓存过期时间为10mins也无可厚非。 那有没有一种缓存机制,不需要设置缓存过期时间,当数据变化的时候就能自动重新缓存呢?...总结 这篇文章中主要梳理了Abp中如何进行缓存管理,并简要介绍了Abp中的缓存机制,并与Asp.net mvc自带的[Outputcache]缓存进行简要对比,并进行了缓存管理实战演练。

    2.3K90

    细说ASP.NET Core静态文件的缓存方式

    虽然这不是唯一缓存文件的方式,我们还可以通过ResponseCacheAttribute特性为ASP.NET Core Mvc的Controller和Action进行缓存的设置。...一旦max-age设置的时间过期,浏览器就不会再使用本地缓存,而去直接请求服务器端。这样已经避免了一些额外的请求到服务器端了。...如果我们在浏览器与服务器中间使用CDN缓存文件数据的话,这样就算客户端浏览器的缓存过期了,但是请求也不会到我们的服务器上,而是请求到CDN缓存服务器。   ...下面我们看看文件缓存ASP.NET Core中是如何判断缓存失效的?.NET Core开源的代码为我们提供了了解它的入口【代码 Source Code】。...v=1 这样的地址来解决缓存的问题。通过给静态文件生成唯一的版本号,做为QueryString进行请求时,服务器将重新输出文件内容。

    2.3K20

    ASP.NET Core 使用 Redis 实现分布式缓存:Docker、IDistributedCache、StackExchangeRedis

    二,ASP.NET Core 使用分布式缓存 ASP.NET Core 中,支持使用多种数据库进行缓存ASP.NET Core 提供了统一的接口给开发者使用。...IDistributedCache ASP.NET Core 中,使用 IDistributedCache 为开发者提供统一的缓存使用接口,而不必关注使用的是何种数据库。...view=aspnetcore-2.2 ASP.NET Core 中配置缓存 新建一个 ASP.NET Core WebApi 项目 Nuget 管理器安装 Microsoft.Extensions.Caching.StackExchangeRedis...{ options.Configuration = "localhost:6379"; options.InstanceName = "mvc...设置缓存过期时间 使用 DistributedCacheEntryOptions 可以设置缓存过期时间 DistributedCacheEntryOptions 有三个属性,表示相对时间、绝对时间。

    2K20

    【愚公系列】2023年01月 .NET CORE工具案例-基于Redis和Sql Server分布式缓存

    根据key键获取对应的值 写可以使用Set、SetString及其对应的异步方法 移除可以使用Remove及其对应的异步方法 这篇文章介绍ASP.NET CORE 基于Redis和Sql Server分布式缓存...view=aspnetcore-7.0#distributed-redis-cache 一、基于Redis分布式缓存 这里新建一个ASP.NET Core 7.0 web API网站来演示使用 1.安装包...6379";//链接地址 option.InstanceName = "myredis";//名字 }); 3.在项目API控制中使用 using Microsoft.AspNetCore.Mvc...绝对过期时间(两种形式) 绝对是请求5秒过期无论使用与否都失效 options.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds...public DateTimeOffset UtcNow => DateTime.Now; //} #endregion 4.在项目API控制中使用 using Microsoft.AspNetCore.Mvc

    71430

    AOP框架Dora.Interception 3.0 : 编程体验

    这次重构大部分是在做减法,其目的在于使设计和使用更加简单和灵活,接下来我们就来体验一下在一个ASP.NET Core应用程序下如何使用Dora.Interception。...源代码下载 实例1(Console) 实例2(ASP.NET Core MVC + 注册可拦截服务) 实例3(ASP.NET Core MVC + 注册InterceptableServiceProviderFactory...) 实例4(ASP.NET Core MVC + 拦截策略) 实例5(ASP.NET Core MVC + 策略脚本化) 一、演示场景 我们依然沿用“缓存”这个应用场景:我们创建一个缓存拦截器,并将其应用到某个方法上...缓存拦截器会将目标方法的返回值缓存起来。在缓存过期之前,提供相同参数列表的方法调用会直接返回缓存的数据,而无需执行目标方法。...Core MVC应用中演示针对ISystemClock服务提供时间的缓存

    47440

    自学MVC看这里——全网最全ASP.NET MVC 教程汇总

    What :ASP.NET MVC 框架介绍 在学习ASP.NET MVC 之前 这篇文章主要介绍ASP.NET MVC 的基础知识,帮助你了解ASP.NET MVC的轮廓。...七天学会ASP.NET MVC (四)——用户授权认证问题 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理 七天学会ASP.NET MVC (二)——ASP.NET MVC...] 无废话MVC入门教程九[实战一:用户注册与登陆] 无废话MVC入门教程十[实战二:用户管理] 后传一:mvc分页 后传二:mvc缓存 ASP.NET MVC 入门系列教程,一个居于ASP.NET MVC...使用ASP.NET MVC 解决高级问题 本系列文章讲解了ASP.NET MVC中视图片断缓存方式,视图片断缓存非常重要,因为它缓存的也是页面内容,这表示它比更低级别的缓存更有效率,也比静态页等整页内容缓存的适用面要大得多...适合ASP.NET MVC的视图片断缓存方式(上):起步 适合ASP.NET MVC的视图片断缓存方式(中):更实用的API 适合ASP.NET MVC的视图片断缓存方式(下):页面输出原则 由于早期的

    9.8K81

    Asp.net mvc 知多少(八)

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。...系列导航 Asp.net mvc 知多少(一) Asp.net mvc 知多少(二) Asp.net mvc 知多少(三) Asp.net mvc 知多少(四) Asp.net mvc 知多少(五)...Asp.net mvc 知多少(六) Asp.net mvc 知多少(七) Asp.net mvc 知多少(八) 本节主要讲解过滤器 Q78....可以自定义过滤器或特性通过实现ASP.NET MVC filter 接口或继承并重载ASP.NET MVC filter attribute类。...可以指定cookie的名称、 版本、目录路径、生效日期、过期日期、是否永久属性来创建FormsAuthenticationTicket对象 。

    1.4K90
    领券