具有多个域名的Web应用程序的ASP.NET缓存

时间:2009-11-12 15:09:25

标签: asp.net caching

是否可以为使用多个域名访问的ASP.NET Web应用程序设置中央缓存? Web应用程序使用单个网站和应用程序池,其中有多个域(主机头)指向它。

有一些背景知识 - 应用程序有很多数据没有太大变化,为了缓解数据库负载,我一直将它存储在静态变量中。当只有一个域时,这一直没有任何问题。但是,对于多个域,似乎用于访问网站的每个域名都有自己的此数据副本,因此当它在一个站点中失效时,其他站点仍会保留自己的版本,导致它永远不会更新。

我尝试将其更改为使用HttpRuntime.Cache而不是静态变量,但这也表现出同样的问题,即用于访问网站的每个域似乎都在存储自己的数据版本。

有没有办法在ASP.NET Web应用程序中缓存数据,这些数据可以在用于访问它的所有域之间共享(和无效)?

2 个答案:

答案 0 :(得分:1)

试试memcached。您可以使用BeIT .Net API。

Memcached作为独立服务运行,旨在促进分布式缓存。它在Windows下运行,在Linux下运行。

答案 1 :(得分:0)

您可以在数据库的内存中创建一个表,并从中获取所有应用程序。它应该与缓存现在基本相同。