Asp.net mvc 要在.NETMVC网站上生成的50k静态html页面-如何在连续部署中工作?
情况是这样的Asp.net mvc 要在.NETMVC网站上生成的50k静态html页面-如何在连续部署中工作?,asp.net-mvc,asp.net-mvc-3,caching,continuous-integration,continuous-deployment,Asp.net Mvc,Asp.net Mvc 3,Caching,Continuous Integration,Continuous Deployment,情况是这样的 我们的网站有大约50000个“详细信息”页面,每个页面由来自我们数据库和API的大量数据块组成。目前,这些都是动态的,但数据只需要每天更改,如果需要的话。我们已经启用了输出缓存来加快速度 我们每天直接从Git部署多次到Appharbor。如果我错了,请纠正我,但我认为每次这样做都会丢失缓存。因此,输出缓存并没有做到它应该做的一切。除此之外,我更希望内容从一开始就被缓存,而不是当第一个用户点击每个页面时 现在,如果不是因为持续部署问题,我建议在编译期间生成静态html文件以获得最大性
附带问题:如果我们生成50k静态html文件,您会将它们以文件夹结构的形式排列在磁盘上,还是将它们存储在数据库中,或者存储在内存中,或者做什么?为什么不使用App Fabric Cache?(我不知道是否可以通过app harbor获得) 或者,您应该考虑实现自己的OutputCache提供程序,并将结果保存在ravendb或文件系统中: 这样,您可以确保在重新启动应用程序时不会清除缓存
编辑:app fabric不可用,但您可以将memcache与此提供商一起使用:当然,缓存应该尽可能透明。你说你已经启用了输出缓存,但是你没有提到你在什么级别输出缓存、ASP.NETMVC/IIS/动态内容压缩?PS考虑如何将静态HTML存储在(单输入的)数据库(有限制的I/O)会影响你的情况吗?第一个问题:你是否真的有性能问题?我只是在探索各种选择。@centralscru,我在评论中并没有暗示解决方案。在OP的最后一句话中,您考虑将(输出)文件缓存到数据库中。我反对这种反模式的做法。