运行时主机的确切定义是什么?
公共语言运行库旨在支持各种不同类型的应用程序,从Web服务器应用程序到具有传统丰富Windows用户界面的应用程序。每种类型的应用程序都需要运行时主机来启动它。运行时主机将运行时加载到进程中,在进程内创建应用程序域,并将用户代码加载到应用程序域中。
这是一个将运行时加载到另一个进程的过程吗? 如何在任务管理器中查看它?
答案 0 :(得分:6)
不,这是一个将运行时DLL(例如mscoree.dll等)加载到其进程空间的进程。
所以只有一个处理空间。
引用的运行时实际上是.Net运行时或CLR。从简化的传统操作系统的角度来看,CLR实际上只是一组DLL。因此,您需要一个OS进程来加载和执行该DLL的入口点。此托管可执行文件是您的运行时主机。实际上.Net运行时主机为CLR做了很多事情(参见Hosting Overview )
你提到了MSDN,所以我猜你在那里看了Runtime Hosts。您可以看到他们提供的示例都是托管CLR(DLL)的可执行文件。
希望有所帮助。
答案 1 :(得分:3)
这篇文章可能有所帮助:Implementing a custom runtime host。它讨论了主机的各个方面以及何时/为什么您可能希望实现自己的主机。
直接从文章中解除:
.NET Framework附带的主机示例包括:
其他主机可能包括: