加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在实例化.NET类时,经典ASP使用了什么AppDomain?

发布时间:2020-12-16 03:25:23 所属栏目:asp.Net 来源:网络整理
导读:当经典ASP页面上的代码创建.NET类的实例(标记为ComVisible,类型库已注册)时会发生什么(就CLR而言)? 什么AppDomain用于新创建的实例?它与在同一站点上运行的ASP.NET应用程序的AppDomain有什么关系吗? 解决方法 IIS中的每个“应用程序”(asp.net或经典ASP站
当经典ASP页面上的代码创建.NET类的实例(标记为ComVisible,类型库已注册)时会发生什么(就CLR而言)?

什么AppDomain用于新创建的实例?它与在同一站点上运行的ASP.NET应用程序的AppDomain有什么关系吗?

解决方法

IIS中的每个“应用程序”(asp.net或经典ASP站点)都在win32进程中运行,也称为“应用程序池”.每个应用程序池(进程)可以同时加载到进程中的零个或一个版本的CLR加载*(1.0,1.1,2.0,4.0).进程内的每个CLR实例至少有一个Application Domain,即.NET的执行和隔离单元.当您通过经典ASP中的CCW(COM可调用包装器)实例化.NET组件时,CLR将加载到托管该站点的应用程序池进程中,并为该进程创建默认的appdomain. URL路径层次结构中的逻辑位置无关紧要,因为不同的段可以具有不同的应用程序池.

这可能需要很多,但我建议阅读IIS / WAS架构和CLR的进程/ appdomain /程序集关系.

* CLR 4.0加载程序允许将一个或多个版本的CLR加载到同一进程中

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读