使用HttpModule缓存请求

时间:2009-07-07 06:06:31

标签: asp.net caching httpmodule

我编写了一个接受请求的HttpModule,处理它(通过数据库查找),并将结果(html)输出回响应。 (请注意,HttpModule实际上在请求完成后结束请求,因此对请求没有正常的ASP.NET处理。)

由于数据库查找可能很昂贵/耗时,我希望将结果存储在内存中,以便后续(相同)请求可以在不进入数据库的情况下提供相同的内容。

我在哪里可以存储(内存中)数据,以便随后可以调用HttpModule?

2 个答案:

答案 0 :(得分:2)

您可以将其存储在Application.Cache中,然后结果将在应用程序范围内可用。务必每隔一段时间检查“新数据”。

答案 1 :(得分:0)

响应大小与从db获取的数据相比如何?一旦将数据存储在内存中,渲染怎么样?如果渲染不是问题,我只会缓存数据并在每个请求上呈现它。如果渲染需要大量的cpu,那么你应该缓存完整的响应并直接从缓存中提供它。