asp.net – 什么是Appdomain回收
我想弄清楚究竟是Appdomain回收?
当首次从DotNet应用程序请求一个aspx页面时,我了解该应用程序的一个appdomain被创建,并且所需的程序集被加载到该appdomain中,并且该请求将被提供。 现在,如果web.config文件或bin文件夹的内容等被修改,则appdomain将被“回收”。 我的问题是,在回收过程结束时,appdomain将加载程序集并准备好为下一个请求服务?或者必须请求页面来触发程序集加载? 解决方法
好吧,我认为线程得到了顺利的最终结论,但最后,它是否则。
我会尝试回答这个问题,基于我的理解,并利用我刚刚在其他网站阅读的。 首先,我自己尝试避免除了应用程序池之外的术语“回收”,因为这可能会让人感到困惑。现在,进行处理,池和AppDomain,我看到的图片如下: 简而言之,应用程序池是由称为W3WP.exe(也称为工作进程)的进程维护和运行的内存区域。回收应用程序池意味着将该进程关闭,从内存中删除它,然后创建一个全新的工作进程,并分配一个新分配的进程ID。 关于应用程序域,我认为它是内存区域的子集,在上述区域内扮演容器的角色。换句话说,在这种情况下,内存中的进程W3WP.exe是用于存储子集区域的应用程序的宏内存区域,称为应用程序域。尽管如此,存储器中的一个进程可以存储不同的应用程序域,每个应用程序域被分配为在给定应用程序池内运行。 关于回收,正如我最初所说,这是我自己只保留应用程序池。对于AppDomains,我喜欢使用术语“重新启动”,以避免误解。基于此,重新启动AppDomain意味着启动具有新添加的设置的给定应用程序,例如刷新现有配置。这发生在存储器的子区域的边界内,称为AppDomain,其最终位于与相应应用池相关联的进程内。这些新设置可能来自诸如的文件 web.config, 并且可能有其他人。 AppDomain彼此隔离,这是完全有道理的。如果不是这样,如果更改web.config,让我们说,应用程序1,请求回收池,所有其他应用程序分配到该池将重新启动,这是微软和其他任何人都不希望的。 总结我的观点, >进程(W3WP.exe) > AppDomain 1 n =指定应用程序到由给定W3WP.exe管理的应用程序池的数量 >进程是彼此隔离的内存区域 有关更多信息,我建议: http://blogs.msdn.com/b/david.wang/archive/2006/03/12/thoughts-on-iis-configuration-changes-and-when-it-takes-effect.aspx What causes an application pool in IIS to recycle? http://blogs.msdn.com/b/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx 来自巴西! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 扩展/覆盖现有的ASP.NET控件
- asp.net-mvc – 使用Razor的ASP.NET MVC 3 – 将条件表达式
- asp.net-mvc – 使用Ninject注册到自定义成员资格提供程序
- .net – 关于强名称验证跳过的奇怪问题
- asp.net – 如何捕获异常形式ObjectDataSource.Updata()
- asp.net-mvc – 如何在MVC5中为用户分配角色?
- asp.net-mvc – AuthenticationManager.SignIn与Authentica
- asp.net-mvc – OWIN – Authentication.SignOut()不会删除
- asp.net – 使用ASPNet_Regiis加密自定义配置部分 – 你能做
- 获取ASP.NET中所有活动会话的列表
- asp.net-mvc – 如何正确识别vs2008版本级别?
- ASP.NET MVC中是否有嵌套主页?
- asp.net-identity – ASP.net Identity 2.1获取所
- asp.net – BC30560:’ExtensionAttribute’在名
- asp.net-mvc – MVC 5中的Web API属性路由异常:
- 新的ASP.NET捆绑功能 – 我如何以编程方式刷新某
- asp.net-mvc – 从Action写入输出流
- 有没有办法以编程方式设置ASP.NET Universal Pro
- asp.net-mvc – ASP.NET MVC – Cascading Drop
- 逗号之后拆分字符串直到字符串结束 – asp.net c