我正在构建KPI监控Web应用程序。它曾经与少数用户完美配合,但最近负载增加,导致我们的后端系统出现问题。其中一些许可非常昂贵,另一些很难扩展大型机。
对于企业来说,永远不要显示超过10分钟的数据是非常重要的。理想情况下,我希望每10分钟拨打一次后端,但前提是有活跃用户。
目前我最大的问题是大多数用户同时开始工作,我的应用程序会在几秒钟内收到30-40个请求。
我如何可靠地解决这个问题?
我尝试在Global.asax.cs中创建一个静态对象。这非常复杂,因为我需要锁定并向页面发信号通知正在进行后端信息检索。
我过去也使用过CacheCow.Server,但它只是WebAPI,感觉就像一个我不太懂的黑盒子。
你能告诉我如何继续吗?
答案 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分钟。