我知道在ASP.NET web应用程序中,更改位于
文件夹导致应用程序回收。
但我想知道,正如主题所暗示的那样,
任何
文件更改会导致这种行为吗?此场景中是否包含简单的文本文件?
子文件夹又是什么呢?
文件夹?它们的内容呢?
我知道我可以自己尝试,但更重要的是,我正在寻找合适的文档。
发布于 2012-03-21 18:56:00
首先,我不能提供官方文档的链接。但从我所读到的
每
bin文件夹中的更改(包括子文件夹)将导致IIS回收应用程序域。
突然回收应用程序池
应用程序的BIN目录中的任何修改
在任何配置文件中进行更改,例如Web.config或其他配置文件(如果您的应用程序中有任何特定的配置文件,例如在一个名为App的目录中
_
配置)。
在APP中修改源代码文件
_
代码目录。这可能会在任何源代码文件中更改,或者在此目录中添加或删除文件。
在Global.asax文件中进行更改
在Machine.config文件中进行更改。
在Web应用程序的根目录中进行任何修改。这意味着动态创建文件/子目录可能会导致应用程序池回收。
修改App的Web服务引用
_
WebReferences目录。
修改根目录中任意目录的安全设置。(例如为每个人或任何其他特定用户或用户组指定读取安全权限。)
下面是一些读物:
IIS中的应用程序池回收的原因是什么?
http://christopherdeweese.com/blog2/post/beware-writing-to-the-bin-folder-in-iis-hosted-services
IISReset是做什么的?
http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/add/recycling
在IIS 7.0中管理、调整和配置应用程序池
http://varunvns.wordpress.com/2011/07/04/application-pool-restarts/
发布于 2020-11-04 06:40:24
不,更新bin文件夹中的dll文件不会导致回收。至少在IIS10和更高版本的.NET 4.7中不是这样
首先,什么是“回收”?
当IIS启动一个新的
进程和旧进程被“礼貌地”终止(在完成所有注册的请求和后台任务之后
)
在/bin中更新文件时会发生什么情况?
ASP.NET执行热重新加载:它检测更新并使用新版本的.dll处理新的页面请求。即重新加载"app-domain“。但是这种情况发生在相同的
进程。(
来源
我刚刚在IIS10Windows2016机器上进行了检查:启动任务管理器并替换主.dll文件-
进程一直在运行,什么也没发生。
https://stackoverflow.com/questions/9802812
复制相似问题