gpt4 book ai didi

asp.net - Asp.net 中的应用程序池与应用程序域回收?

转载 作者:行者123 更新时间:2023-12-02 15:26:00 24 4
gpt4 key购买 nike

我对回收应用程序池和应用程序域的影响有点困惑。正如我红色的高票文章如下: What exactly is Appdomain recycling

它说 appdomain 回收是由设置或 bin 文件夹中的任何更改引起的,但如下所示

enter image description here

应用程序池也会通过使用该应用程序池的网站中的配置更改进行回收,此时我想到三个问题

1.首先,对于 website1 中所做的任何配置更改(也会影响 website2)回收应用程序池是否合理,因此它们都使用相同的应用程序池?,那么使用相同应用程序的多个应用程序之间的隔离边界会发生什么情况应用程序池?

2.其次,AppPlool回收和AppDoman Recyclyng到底有什么区别?,因为它们在回收时似乎都做了同样的事情?

3.根据上图,我们是否可以得出配置更改肯定会回收AppDomain但不一定会回收AppPool的结论?

最佳答案

您的问题

  1. 应用程序配置更改不会重新启动应用程序池。配置更改会重新启动 AppDomain,每个应用程序都有一个不同的 AppDomain,负责边界和隔离。

  2. AppDomain Recycle 正在从 w3wp 进程中卸载然后重新加载 AppDomain,并且不会重新启动该进程。但是应用程序池回收正在卸载应用程序池相应的w3wp进程。

  3. 是的,应用程序配置更改将回收 AppDomain,而不是应用程序池。

应用程序池回收与AppDomain回收

我相信这个摘要(基于帖子底部的链接)将帮助您更好地了解应用程序池回收AppDomain回收。 p>

AppDomain 回收

在某些情况下,必须从内存中卸载应用程序域、重新加载并重新编译代码。此进程不会终止工作进程 (w3wp.exe),因此不会影响分配给同一池的其他应用程序域。

应用程序池回收

应用程序池回收是指卸载应用程序池的所有工作进程 (w3wp.exe) 并启动新实例来服务传入请求。

AppDomain回收情况

以下情况会导致应用域被回收:

  • 修改 web.config 或 Global.asax
  • 更改应用程序 bin 目录的内容
  • 更改为虚拟目录的物理路径
  • 删除应用程序的子目录
  • 重新编译(aspx、ascx 或 asax)的次数超出 <compilation numRecompilesBeforeAppRestart=/> 指定的限制machine.config 或 web.config 中的设置(默认为 15)

应用程序池回收情况

可能导致应用程序池回收发生的情况:

  • 配置池的回收条件

    ○ 固定时间间隔(默认1740分钟)
    ○ 固定请求数量
    ○ 具体时间
    ○ 虚拟内存使用
    ○ 私有(private)内存使用

  • 为池设置空闲超时值(默认为 20 分钟)
  • 在 IIS 中进行配置更改会导致回收

更多信息

关于asp.net - Asp.net 中的应用程序池与应用程序域回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60105130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com