在重新启动IIS之前,单例列表尚未重新初始化

时间:2013-02-27 00:38:07

标签: asp.net sql singleton initialization

我的asp.net网站内有单例列表的问题。基于设计,单例列表用于存储所有自定义信息,因此第一个用户访问网站并调用单例列表,如果它是空的则将被初始化(调用select sql脚本并从数据库中获取数据) )。

然后在后端站点上,我们有一个页面,用于清除单例列表中的所有数据,仅在我们更新数据库中的某些自定义信息时使用。

这个逻辑很清楚并且习惯于正常工作。但是,昨天我刚刚添加了一个新的自定义记录,然后在我清除了单例列表之后,我仍然看不到新添加的自定义信息。我尝试了很多次,它只是没有用。所以我在测试环境中做了同样的事情,它完美无缺。最后,我偶尔尝试命令 iisreset ,它开始工作了。我的意思是这很奇怪,我试图找出原因,有人能给我一些线索吗?非常感谢。

2 个答案:

答案 0 :(得分:0)

有些配置更改需要在提交之前重新启动IIS。我养成了习惯,并且在对启动或初始化完成的内容进行更改后重新启动IIS是非常标准的做法。

基本上,必须这样做并不罕见。不要担心它,除非它没有被重建或类似的东西,但如果它被构建,那么它应该是一件好事。

以下是IIS网站的链接。

答案 1 :(得分:0)

可能是应用程序隔离模式的方向,也可能是代码中的完全不同的问题。适用于应用隔离模式。 请阅读here

我正在查看IIS中的应用程序隔离级别,对OP的注释做出一些判断。

  • 1。)一旦应用程序更改并部署在测试服务器和生产服务器上,就会假定应用程序已重新启动

  • 2。)在生产环境中,它不起作用,但在测试环境中它起作用

  • 3。)但是在生产环境中,一旦IIS重新启动它就会起作用

鉴于以上3个事实,自从上次应用程序更新到生产以来,它会怀疑应用程序隔离在生产环境中已经改变(基于OP的附加注释) 我可能完全错了,但假设是合乎逻辑的。