Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 直到重新启动IIS,单例列表才重新初始化_Asp.net_Sql_Singleton_Initialization - Fatal编程技术网

Asp.net 直到重新启动IIS,单例列表才重新初始化

Asp.net 直到重新启动IIS,单例列表才重新初始化,asp.net,sql,singleton,initialization,Asp.net,Sql,Singleton,Initialization,我的asp.net网站中有一个关于单身列表的问题。根据设计,单例列表用于存储所有自定义信息,因此第一个用户访问网站并调用单例列表,如果单例列表为空,则将初始化它并调用select sql脚本并从数据库中获取数据 然后在一个后端站点上,我们有一个页面,用于清除singleton列表中的所有数据,该页面仅在我们更新数据库中的一些自定义信息时使用 这一逻辑是明确的,可以很好地使用。然而,昨天我刚刚添加了一个新的定制记录,然后在我清除了单身列表之后,我仍然看不到新添加的定制信息。我试了很多次,但都没用。

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

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


这一逻辑是明确的,可以很好地使用。然而,昨天我刚刚添加了一个新的定制记录,然后在我清除了单身列表之后,我仍然看不到新添加的定制信息。我试了很多次,但都没用。所以我在我们的测试环境中做了同样的事情,它工作得非常完美。最后,我偶尔尝试一下命令iisreset,它开始工作了。我是说这很奇怪,我想知道为什么,有人能给我一些线索吗?非常感谢。

有些配置更改需要重新启动IIS才能提交。我养成了一种习惯,在对启动或初始化时所做的更改后重新启动IIS是相当标准的做法

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


这里是该站点的链接。

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

我根据OP的一些评论判断IIS中的应用程序隔离级别

一,。一旦应用程序发生更改并部署到测试服务器和生产服务器上,则假定应用程序已重新启动

二,。在生产环境中它不工作,但在测试环境中它工作

三,。但在生产环境中,一旦IIS重新启动,它就会工作

鉴于上述3个事实,自上次应用程序根据OP的补充意见对生产进行更新以来,生产环境中的应用程序隔离可能已经发生了变化
我可能完全错了,但假设是合乎逻辑的

OP在哪里提到了配置更改?他们有一个单例列表代码——不是正在擦除的配置,而是没有插入新数据。里面没有关于配置的内容。即使是这样,例如,更新web.config文件,也会自动重新启动站点以加载更改。几秒钟前,在您提出问题后,我想到了这一点。你是对的,我编辑了我的答案。哦,它不需要任何web.config更改,代码所做的唯一事情就是清除列表->调用sql脚本并重新填充列表,就是这样。你是如何从这个问题中得到这个想法的?不是应用程序重启没有初始化单例,而是iis重启了吗?不是;OP从来没有提到过任何可能也会起作用的应用程序重启。他们的代码无法重新初始化列表。几乎可以肯定的是,在没有看到代码的情况下,这个问题是无法回答的,代码可能有点错误。几秒钟前,在你提出问题后,我突然想到了这一点。你可能是对的,我编辑了我的答案。嗨,Andrew,代码工作得很好,因为逻辑非常清晰,在我们的测试环境中工作得很好,在过去的2个月里也工作得很好,并且多次重新初始化单例列表,因为我们经常更新可自定义字段,只是这次失败了。因为这件奇怪的事情在过去的两个月里只发生过一次,而且它过去工作得很好,我们多次重新初始化列表,都很好,只是这次失败了,我没有得到一些线索来思考为什么,我在重新初始化它时使用了锁,