CLR寄宿和AppDomain

CLR寄宿和AppDomain(一)

CLR(Common Language Runtime 公共语言运行时):提供的核心功能:内存管理、程序集加载、安全性、异常处理、线程同步。

寄宿(hosting)使任何应用程序都能利用CLR的功能,它让现有的一些程序至少能部分使用托管代码编写,还可以为程序提供通过编译来进行自定义和扩展的能力。其中允许扩展性,意味第三方DLL可能会在程序中运行,DLL可能企图利用程序的安全上下文来访问它本来无权限访问的资源。

CLR的AppDomain解决了这个问题。AppDomain允许第三方代码在现有的进程中运行,同时CLR保证数据结构、代码和安全上下文不被滥用或破坏。

CLR寄宿

Microsoft为CLR定义了一个COM接口,为其和服务器分配了GUID(Globally Unique Identifier),可以参考MetaHost.h头文件,该文件定义了GUID和非托管ICLRMetaHost接口

任何Windows应用程序都能寄宿CLR,但是不能通过CoCreateInstance来创建COM服务器的实例,非托管宿主应该调用MetaHost.h中生命的CLRCreateInstance函数。

CLRCreateInstance这个函数在MSCorEE.dll中实现,这个DLL被我们称为“

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值