边界:进程和应用程序域
现代操作系统和运行时环境需要保护每一个应用程序,使之不受其他应用程序失败的影响。这一保护机制是通过使用进程和应用程序域实现的。
进程
Microsoft Windows 操作系统通过在应用程序自己的进程中运行各个应用程序来防止应用程序互相影响。如果一个应用程序由于某种原因失败,则只影响该进程;其他进程中的应用程序可以继续执行。当然,由于一个进程中的内存地址在另一进程中没有意义,因此从某个其他进程调用一个进程中的函数可能会比较复杂。封送处理是赋予如下事件的术语:当调用和任何参数在一个进程中打包并在另一个进程中取消打包时,这些事件发生,从而使跨进程边界的调用可以成功。
应用程序域
在托管环境中,应用程序域(可以视为逻辑进程)和上下文以比操作系统进程更低的成本提供隔离和安全性,并具有更强的伸缩能力,这依赖于托管代码的许多优点,特别是托管代码被证明是类型安全的。每个托管应用程序都在一个应用程序域中运行,无论是其他应用程序为它启动了一个域,还是宿主环境为它启动了一个域。.NET 远程处理有助于提供一种可以在应用程序域之间简单明了地进行通信的基础结构,并且使用安全技术为通信提供保护。