自动刷新IIS服务器上的缓存

时间:2012-09-10 16:40:51

标签: c# asp.net windows-server

对不起,我所工作的机构的人员缺乏知识,继承了使用ASP.net构建在Windows服务器上的网站。

我们遇到了用户登录系统的问题。基本故事是当用户请求管理员必须批准的帐户时。如果管理员拒绝用户应用程序,则用户仍然可以使用忘记密码选项登录。

我最初的反应是代码中的错误逻辑,但是我们已经让一些ASP人员快速查看并且无法重现问题。因此他们建议它可能是某种缓存问题。如果是这样的话,无论如何都要设置服务器每小时左右重置它的缓存?或欢迎任何其他建议。很抱歉完全没有代码示例,但我现在可以提供一个场景。

干杯。

2 个答案:

答案 0 :(得分:3)

如果你无法重现它,那就没有问题;虽然我承认可能存在缓存问题。但是,如果不了解您的应用程序,我可以建议您使用System.Web.Caching.Cache类来引用您的源代码(如果不是Page,通常直接通过HttpContext.Current类访问)。< / p>

删除缓存负责的想法,我认为这只是忘记密码功能编码错误的情况。我猜是忘记密码功能会重置某种“帐户禁用”标志,这就是允许用户进入的标志。

答案 1 :(得分:1)

ASP.Net caching class具有缓存项的迭代器和删除项的方法。在IIS中托管长时间运行的进程很困难 - 因为“空闲”工作进程被杀死 - 所以你不能只运行一个计时器。但您可以使用IIS auto-start功能与持久性存储结合使用,每小时运行一次“核心缓存”方法。

话虽如此,我看不出这是一个明智的解决方案 - 我希望这里的计划只是为了帮助隔离真正的问题。