Re[4]: CLR COM Server. Где?
От: fronter3  
Дата: 04.07.07 11:07
Оценка:
Здравствуйте, _Morpheus_, Вы писали:

_M_>Здравствуйте, fronter3, Вы писали:


F>>Здравствуйте, _Morpheus_, Вы писали:


_M_>>>Здравствуйте, fronter3, Вы писали:


F>>>>Как выяснилось CRL реализована в MSCorWks.dll (~5MB)

F>>>>И насколько я понял, при создании процесса (в результате запуска управляемой сборки), CLR загружается в каждый процесс.

_M_>>>CLR реализована в MSCOREE.DLL. При запуске дотнет приложения под Win выполняется обычный x86 код, который просто передает управление в функцию _CorExeMain из статически прилинкованой MSCOREE.DLL. Таким образом MSCOREE.DLL загружается в каждый дотнет процесс (это относится к Microsoft реализации дотнета). _CorExeMain считывает заголовок EXE файла из которого произведен вызов, находит IL код, компилирует код необходимый для выполнения Main, подставляя на место обращений к другим методам свой хук и передает этому коду управление. Если управление дошло до одного из хуков, то производится компиляция метода к которому произошло обращение и хук заменяется на адрес по которому произведена компиляция этого метода — в следующий раз этот вызов будет произведен сразу, без компиляции.


F>>Рихтер:

F>>

F>>The CLR itself isn't implemented in MSCorEE.dll; it is implemented in a file called
F>>MSCorWks.dll.

F>>Так же он утверждает что MSCorEE.dll это некий shim который и грузит нужную CLR:

_M_>суть от этого не меняется, сама mscoree есть, находится она тут: C:\WINDOWS\system32\mscoree.dll

_M_>Что она там грузит для свое работы не столь важно.


F>>Но вопрос быд не в CLR а где находится COM Server? в отдельном процессе или грузится в каждый процесс, тем самым увеличивая его на 5 МБ по умолчанию...


_M_>зависит от типа сервера, для inproc сервера грузится в каждый процесс


и как узнать каким же COM Serverom является COM Server MSCorWks.dll (inproc, outproc) и можно ли поменять эти настройки или это определдяется производителем COM Servera (Microsoft-ерами)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.