Tag: outputcache

ApiController的输出caching(MVC4 Web API)

我试图在Web API中caching一个ApiController方法的输出。 这是控制器代码: public class TestController : ApiController { [OutputCache(Duration = 10, VaryByParam = "none", Location = OutputCacheLocation.Any)] public string Get() { return System.DateTime.Now.ToString(); } } NB我也试过控制器本身的OutputCache属性,以及它的几个参数组合。 该路由在Global.asax中注册: namespace WebApiTest { public class Global : HttpApplication { protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHttpRoute("default", routeTemplate: "{controller}"); } } } 我得到了一个成功的回应,但它没有被caching在任何地方: HTTP/1.1 200 OK Cache-Control: […]

在ASP.NET中清除页面caching

对于我的博客,我想要使用输出caching来保存约10分钟的caching版本的perticular职位,这很好… … – <%@OutputCache Duration="600" VaryByParam="*" %> 但是,如果有人发表评论,我想清除caching,以便刷新页面,并可以看到评论。 我如何在ASP.Net C#中执行此操作?

如何使用具有多个参数的VaryByParam?

在ASP.NET MVC2中,我使用OutputCache和VaryByParam属性。 我用单个参数可以正常工作,但是当我在这个方法上有几个参数时,正确的语法是什么? [OutputCache(Duration=30, VaryByParam = "customerId"] public ActionResult Index(int customerId) { //I've got this one under control, since it only has one parameter } [OutputCache(Duration=30, VaryByParam = "customerId"] public ActionResult Index(int customerId, int languageId) { //What is the correct syntax for VaryByParam now that I have a second parameter? } 如何使用这两个参数来caching页面? 我input两次添加属性? 或者写下“customerId,languageId”作为值?

在ASP.NET中强制caching过期的最佳方法是什么?

假设我有一个ASP.NET应用程序在负载均衡器后面的多个Web服务器上运行: 我可以吗: 强制OutputCache(页面和/或控制级别)全局到期? 强制数据caching(即Cache.Insert)到期? 从一个中央位置监控ASP.NETcaching的使用情况(密钥,RAM等)? 一个可能的解决scheme是每次使用caching检查文件的依赖关系的变化。 该文件可能会被触及,这将过期所有caching。 但是,这要求开发人员在所有代码中包含依赖项。 他们是更好的解决scheme吗?