|
CLR(COM服務器)
CLR作為一個COM服務器實現在MSCorWks.dll文件中。安裝.NET Framework時,表示CLR的COM服務器被注冊到Windows的注冊表里。
MSCorEE.dll(墊片)
MSCorEE.dll的職責是判斷創建何種版本的CLR。 非托管應用程序宿主調用MSCorEE.dll(shim)中CorBindToRuntimeEx函數或者另一個相似的函數來創建CLR COM的實例。
一臺機器可以安裝多個版本的CLR,但在機器中只有一個版本的MSCorEE.dll文件。以上兩者之間的關系如下代碼所示(c++):MSCorEE.dll(墊片)---->CLR(COM服務器)
#include <Windows.h>#include <MSCorEE.h>
#include <stdio.h>
#pragma comment(lib,"mscoree.lib")
int main(int argc, CHAR* argv[])
{
ICLRRuntimeHost *pClrHost;
//調用<MSCorEE.h>中的CorBindToRuntimeEx()生成COM服務器
HRESULT hr= CorBindToRuntimeEx(NULL, NULL, NULL, CLSID_CLRRuntimeHost, IID_ICLRRuntimeHost, (LPVOID*)&pClrHost);
//啟動clr
pClrHost->Start();
//............................其他操作
//終止clr
pClrHost->Stop();
getchar();
return 0;
}
NET技術:關于ASP.NET與CLR相互關系的一些總結,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。