在ASP.NET MVC 5网站中缓存信息的最安全方法

时间:2015-06-22 22:49:52

标签: asp.net-mvc caching cachecow

我正在构建KPI监控Web应用程序。它曾经与少数用户完美配合,但最近负载增加,导致我们的后端系统出现问题。其中一些许可非常昂贵,另一些很难扩展大型机。

对于企业来说,永远不要显示超过10分钟的数据是非常重要的。理想情况下,我希望每10分钟拨打一次后端,但前提是有活跃用户。

目前我最大的问题是大多数用户同时开始工作,我的应用程序会在几秒钟内收到30-40个请求。

我如何可靠地解决这个问题?

我尝试在Global.asax.cs中创建一个静态对象。这非常复杂,因为我需要锁定并向页面发信号通知正在进行后端信息检索。

我过去也使用过CacheCow.Server,但它只是WebAPI,感觉就像一个我不太懂的黑盒子。

你能告诉我如何继续吗?

1 个答案:

答案 0 :(得分:4)

您是否尝试过使用OutputCache属性? (该链接指向较旧的文档,但它仍然有效)。

using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        [OutputCache(Duration=600, VaryByParam="none")]
        public ActionResult Index()
        {
            return View();
        }

    }
}

该操作的输出将缓存指定的秒数,在本例中为10分钟。