我有一个在 windows server 2008 r2 上运行的 web 应用程序。其中一个页面在首次加载时处理时间过长。大约需要 15 秒,之后几乎是瞬间。发生的情况是 w3wp.exe 进程在这段时间内从 200 MB 以下的 RAM 跳转到 700 MB 的 RAM。没关系,页面很大,需要这么多内存。在这 15 秒之后,它切换回大约 200 MB 的 RAM,如果有人访问该页面,它几乎会立即呈现。无论是谁请求它,它都是第一次呈现。现在经过一段时间(如果不是几十分钟的话,几分钟),当有人再次请求该页面时,它会做同样的事情 - 处理 15 秒并跳转到 700 MB 的 RAM。
我想以某种方式保留 700 MB 的缓存,这样它就不会过期。即使在它回落到 200 MB 的 RAM 之后,页面也会立即加载,但我的猜测是,这就是为什么在更长的时间后它“过期”并且必须再次呈现它的原因。我已经阅读了@outputcache,但我不确定这是我需要的。并且有多种类型的缓存。有人能指出我正确的方向吗?我不担心内存消耗或其他任何事情,我只是不希望用户等待 15 秒来加载它,即使它不经常发生。谢谢!
PS:在 ASP.NET 4.0 下用 C# 编写的应用程序