2012-09-10 80 views
1

对不起,由于我工作的代理机构的工作人员已经继承了使用ASP.net构建在Windows服务器上的网站。自动刷新IIS服务器上的缓存

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

我最初的反应是代码中的逻辑错误,但我们已经让一些ASP人员快速浏览并无法重现问题。正因为如此,他们暗示它可能是某种缓存问题。如果是的话,无论如何设置服务器重置它的缓存每小时左右?或任何其他建议,也是受欢迎的。对不起,我完全缺乏代码示例,但现在我只能提供一个场景。

干杯。

回答

3

如果你不能重现它,那么没有问题;尽管我承认可能存在缓存问题。但是,如果不了解更多关于应用程序的知识,我建议您只需grep源代码即可参考System.Web.Caching.Cache课程(如果不是HttpContext.Current,则通常直接通过Page课程进行访问)。

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

+0

别忘了System.Runtime.Caching! - 最近才出现,但如果你建议进行文本搜索,他可能应该同时寻找两者。 – StingyJack

1

ASP.Net caching class有缓存项目的迭代器和删除项目的方法。在IIS中托管长时间运行的进程很困难 - 因为“空闲”工作进程会被终止 - 因此您不能只运行一个计时器。但是,您可以使用IIS auto-start功能与持久存储相结合,每小时运行一次“nuke cache”方法。有了这个说法,我看不出这是如何明智地解决这个问题 - 我希望这里的计划只是为了帮助隔离真正的问题。