对对于许多应用程序来说,可以使用第三方特性来扩展应用程序的能力是至关紧要的。微软的 CLR Add-In 团队已经着手开始研究能让这个工作变得更加简单的一套正式模型及 API。其中的特性包括对发现、加载和卸载、隔离以及与宿主应用通信的标准处理方式。
在 Visual Studio 2008 Beta 2 版中这个 Add-In 模型的核心特性之一,是可以对 GUI 元件进行隔离。目前,Add-In 可以在一个独立的 AddDomain 中创建它们的 GUI 元件,这些元件会在主内容之间显示。因此,尽管应用程序认为 Add-In 是独立的,但从用户的角度来看,这个连接是无缝的。
当和无法完全信任的代码进行交互时,能够使用 AppDomain 是至关紧要的。通过对代码的隔离,这部分代码可以和应用程序的其它部分不同,运行在一系列限制条件之下。这不仅仅对于处理可能有恶意的代码很有帮助,在 Add-In 代码出现可靠性问题,这也是相当有用的,否则这个可靠性问题有可能会影响到应用程序的其它部分。
Jesse Kaplan 在 CLR Add-In 团队博客上从技术角度详细阐述了根据AppDomain 隔离的WPF Add-In 的工作原理。
查看英文原文: Isolation for WPF Add-Ins
评论