2010-03-03 5 views
8

Was genau ist eine Anwendungsdomäne (AppDomain) und was unterscheidet sie von einem Prozess oder Thread?Was ist eine .NET-Anwendungsdomäne?

+1

Mögliche Duplikate von [Ich verstehe Anwendungsdomänen nicht] (http://stackoverflow.com/questions/622516/i-dont-understand-application-domains) –

Antwort

6

Siehe MSDN.

Anwendungsdomänen bieten eine sichere und vielseitige Verarbeitungseinheit, die die Common Language Runtime bereitzustellen Isolation zwischen Anwendungen verwenden kann. Sie können mehrere Anwendungsdomänen in einem einzigen Prozess mit der gleichen Isolationsstufe ausführen, die in separaten Prozessen vorhanden wäre, ohne jedoch den zusätzlichen Aufwand für das Ausführen von prozessübergreifenden Aufrufen oder das Wechseln zwischen Prozessen zu verursachen. Die Möglichkeit, mehrere Anwendungen in einem einzigen Prozess auszuführen, erhöht die Skalierbarkeit des Servers erheblich.

Eine AppDomain ist im Grunde eine isolierte Ausführungsumgebung für verwalteten Code.

+1

+1 Denken Sie daran, wie ein "leichtgewichtiger Prozess" und du wirst normalerweise nah genug sein. –

2

Ein application domain ist die "Space" -Segmente von Code kann in ausgeführt werden. Es kann für eine Reihe von Dingen wie das Erstellen einer Sandbox beim Laden von Assemblys verwendet werden, die Sie nicht vollständig vertrauen. Es ist anders als ein Thread/Prozess, in dem es den Code enthält, der gerade ausgeführt wird, anstatt tatsächlich ausgeführter Code zu sein. Im weitesten Sinne kann man sich jede Anwendung als Anwendungsdomäne vorstellen.