什么是CLR托管?这是什么用例?什么是CLR托管?
28
A
回答
25
有关与CLR v2(.NET 2.0,3.0和3.5)相关的CLR托管的信息,请参阅here。有关.NET 4.0中较新的CLR Hosting API的信息,请参阅see here。
基本上,CLR充当一个库,可以通过进程加载和“托管”。如果你愿意,你可以开发一个加载和托管CLR的应用程序;这将允许您的应用程序包含整个CLR虚拟机,加载程序集并在其中运行.NET托管代码。例如,SQL Server 2008可以执行此操作。您可以编写存储在SQL Server数据库中的.NET代码,并从SQL Server数据库引擎中运行。 SQL Server正在托管CLR来实现这一点。
除Windows外壳(通常的用户界面)以外的CLR主机可以为要运行的代码提供特定的上下文。这对于专门的应用程序或非常特殊的场景很有用。 MSDN(上面的链接)对这些问题有一些指导。
11
CLR托管是在您选择的过程中托管.NET公共语言运行时。
用例可能是现有环境不适合您的要求的情况。一些现有的环境是ASP.NET,WinForms,Windows Workflow Foundation等。如果这些环境不符合您的要求,您可以自己托管它。
2
CLR Hosting是Hosting使用.NEt应用程序。当您在本机进程内启动.NET运行时时,该本机应用程序将成为运行时的主机。这使您可以将.NET功能添加到本机应用程序。
如果运行时正在运行,但它还没有任何加载的用户代码。某些内部线程调度程序和垃圾回收器肯定正在运行,因为它们是CLR运行时的一部分 它比其他托管服务非常复杂。
相关问题
- 1. 从托管代码托管CLR?
- 2. 什么是托管原型?
- 3. 什么是ActiveX托管?
- 4. 什么是托管带宽?
- 5. 什么是网格托管
- 6. 创建C++ CLR托管DLL
- 7. CLR中的托管堆
- 8. 什么是托管代码和非托管代码?
- 9. 什么是托管资源和非托管资源?
- 10. 什么是“托管”和“非托管”可用性集?
- 11. .NET中“托管”与“非托管”资源的含义是什么?
- 12. 什么是“托管/非托管类型组合无效”。意思?
- 13. 托管JavaScript的术语是什么?
- 14. 什么是Oracle托管文件?
- 15. 什么是非托管对象?
- 16. 托管代码的术语是什么?
- 17. 什么是“托管苹果内容”
- 18. 什么是un/managed DLL?什么是非托管代码?
- 19. 托管clr和捕捉线程异常
- 20. 在SQL Server中托管.NET方法CLR
- 21. CLR SP与非托管代码
- 22. 在调用CLR应用托管代码
- 23. CLRProfiler在托管时未连接到CLR
- 24. 管理由CorBindToRuntimeEx加载的.NET CLR的版本是什么?
- 25. .NET中引用的含义是什么CLR(管理对象)?
- 26. 是在CLR上运行的非托管Visual C++吗?
- 27. 每个CLR或每个进程是否有一个托管堆?
- 28. 什么是托管和非托管环境意味着在休眠?
- 29. 什么是推荐的托管方式在NServiceBus 6,自主托管或NServiceBus.Host.exe?
- 30. Python托管,本地程序和托管程序之间的链接是什么?
+1感谢您的回答。另外:当一个.NET可执行文件被双击并启动时,谁承载CLR?它是由Windows资源管理器托管的吗? – Sabuncu
@Sabuncu:是的。这是我在回答中提到的Windows shell。 – CesarGon
谢谢。我看到了你的“Windows外壳”参考,但并不确定。在这种情况下,我认为您使用的是通用意义上的“shell”,而不是像DOS cmd.exe或PowerShell控制台这样的shell程序。 – Sabuncu