放在第三方缓存中,比如Memcached, Windows上Memcached服务器可以用Couchbase
Memcached了解过,但是没用过,不知道可靠度稳定度如何
@拖鞋王子: 这是大型网站必备的,久经考验
ASP.NET站点本质是c#程序->这个c#程序托管在w3wp.exe上->w3wp.exe对应IIS中的应用程序池,由IIS管理->“IIS回收”本质是应用程序池的重启。
综上所述,你的问题本质是:有没有办法让c#程序运行时内存中的某个数据,即使重启这个程序,内存中的数据依然存在?答案显而易见了。。。
我觉得你解决问题的大方向错了。
没有,要是你启不来了怎么办,内存里就老是存着那些东西?要是启动中别的程序把你的内存覆盖了怎么办?
这么说吧,内存里的数据,总有一个宿主记录了一张索引表,这个宿主只要不死,内存中的东西还是会拿回来的。
我们简单点把这个宿主叫一个对象。如果你有本事让IIS与另外一个进程中的程序同时握着这个对象的话,那么IIS重启后,就可以把这个对象拿回来了。
你可以试试,我懂得也就这么多。
memcached
memorycache
把 iis的限制超时和垃圾回收时间都设置成0 就能满足你的需求 不过这样子用久了估计会爆掉
设置成0根本没用,会一直回收