Grenzen: Prozesse und Anwendungsdomänen
Moderne Betriebssysteme und Laufzeitumgebungen müssen die einzelnen Anwendungen vor Fehlern anderer Anwendungen schützen. Dieser Schutzmechanismus wird mithilfe von Prozessen und Anwendungsdomänen implementiert.
Prozesse
Microsoft Windows-Betriebssysteme schützen Anwendungen voreinander, indem jede Anwendung in einem eigenen Prozess ausgeführt wird. Wenn in einer Anwendung aus einem beliebigen Grund ein Fehler auftritt, ist nur dieser bestimmte Prozess davon betroffen. Anwendungen in anderen Prozessen werden weiterhin ausgeführt. Natürlich haben Speicheradressen in einem Prozess keine Bedeutung in einem anderen Prozess, und deshalb kann es relativ kompliziert sein, in einem Prozess Funktionen aus einem anderen Prozess aufzurufen. Marshaling ist ein Begriff für Ereignisse, die auftreten, wenn ein Aufruf und Argumente in einem Prozess verpackt und in einem anderen entpackt werden, damit ein Aufruf über eine Prozessgrenze hinweg erfolgreich ausgeführt werden kann.
Anwendungsdomänen
In der verwalteten Umgebung bieten Anwendungsdomänen (die als logische Prozesse zu verstehen sind) und Kontexte Isolation und Sicherheit zu geringeren Kosten und mit besseren Skalierungsmöglichkeiten als ein Betriebssystemprozess, denn u. a. ist verwalteter Code nachweisbar typsicher. Jede verwaltete Anwendung wird in einer Anwendungsdomäne ausgeführt, und zwar unabhängig davon, ob die Domäne von einer anderen Anwendung oder von der Hostumgebung gestartet wird. Mit .NET Remoting kann die Infrastruktur bereitgestellt werden, die erforderlich ist, um auf einfache Weise und durch Sicherheitstechnologien geschützt zwischen Anwendungsdomänen zu kommunizieren.
Siehe auch
Weitere Ressourcen
Erstellen remotefähiger Objekte
Anwendungsdomänen
Overview of the .NET Framework