Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

AppDomain-Klasse

Stellt eine Anwendungsdomäne dar. Dies ist eine isolierte Umgebung, in der Programme ausgeführt werden. Diese Klasse kann nicht vererbt werden.

System.Object
  System.MarshalByRefObject
    System.AppDomain

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public sealed class AppDomain : MarshalByRefObject, 
	_AppDomain, IEvidenceFactory

Der AppDomain-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Eigenschaft ActivationContext Ruft den Aktivierungskontext für die aktuelle Anwendungsdomäne ab.
Öffentliche Eigenschaft ApplicationIdentity Ruft die Identität der Anwendung in der Anwendungsdomäne ab.
Öffentliche Eigenschaft ApplicationTrust Ruft Informationen ab, die die einer Anwendung gewährten Berechtigungen beschreiben und ob die Anwendung eine Vertrauensebene besitzt, die eine Ausführung zulässt.
Öffentliche Eigenschaft BaseDirectory Ruft das Basisverzeichnis ab, das der Assemblyresolver für die Suche nach Assemblys verwendet.
Öffentliche Eigenschaft Statischer Member Unterstützt von XNA Framework CurrentDomain Ruft die aktuelle Anwendungsdomäne für den aktuellen Thread ab.
Öffentliche Eigenschaft DomainManager Ruft den Domänen-Manager ab, der beim Initialisieren der Anwendungsdomäne vom Host bereitgestellt wurde.
Öffentliche Eigenschaft DynamicDirectory Ruft das Verzeichnis ab, das der Assemblyresolver für die Suche nach dynamisch erstellten Assemblys verwendet.
Öffentliche Eigenschaft Evidence Ruft den Evidence ab, der dieser Anwendungsdomäne zugeordnet ist.
Öffentliche Eigenschaft Unterstützt von XNA Framework FriendlyName Ruft den angezeigten Namen dieser Anwendungsdomäne ab.
Öffentliche Eigenschaft Id Ruft eine ganze Zahl ab, die die Anwendungsdomäne innerhalb des Prozesses eindeutig identifiziert.
Öffentliche Eigenschaft IsFullyTrusted Ruft einen Wert ab, der angibt, ob in die aktuelle Anwendungsdomäne geladene Assemblys mit voller Vertrauenswürdigkeit ausgeführt werden.
Öffentliche Eigenschaft IsHomogenous Ruft einen Wert ab, der angibt, ob die aktuelle Anwendungsdomäne einen Satz von Berechtigungen aufweist, der allen in die Anwendungsdomäne geladenen Assemblys gewährt wird.
Öffentliche Eigenschaft Statischer Member MonitoringIsEnabled Ruft einen Wert ab, der angibt, ob CPU- und Speicherüberwachung von Anwendungsdomänen für den aktuellen Prozess aktiviert ist, oder legt ihn fest. Wenn die Überwachung für einen Prozess aktiviert wurde, kann sie nicht deaktiviert werden.
Öffentliche Eigenschaft MonitoringSurvivedMemorySize Ruft die Anzahl von Bytes ab, die nach der letzten vollständigen Blockierungsauflistung noch vorhanden sind und auf die bekanntermaßen von der aktuellen Anwendungsdomäne verwiesen wird.
Öffentliche Eigenschaft Statischer Member MonitoringSurvivedProcessMemorySize Ruft die gesamten Bytes ab, die nach der letzten vollständigen Blockierungsauflistung für alle Anwendungsdomänen im Prozess noch vorhanden sind.
Öffentliche Eigenschaft MonitoringTotalAllocatedMemorySize Ruft die Gesamtgröße in Bytes aller Speicherbelegungen ab, die von der Anwendungsdomäne seit der Erstellung vorgenommen wurden, ohne Subtraktion des freigegebenen Speichers.
Öffentliche Eigenschaft MonitoringTotalProcessorTime Ruft die gesamte Prozessorzeit ab, die von allen Threads bei der Ausführung in der aktuellen Anwendungsdomäne seit Prozessstart genutzt wurde.
Öffentliche Eigenschaft PermissionSet Ruft den Berechtigungssatz einer Sandbox-Anwendungsdomäne ab.
Öffentliche Eigenschaft RelativeSearchPath Ruft den Pfad unterhalb des Basisverzeichnisses ab, in dem der Assemblyresolver nach privaten Assemblys suchen soll.
Öffentliche Eigenschaft SetupInformation Ruft die Konfigurationsinformationen der Anwendungsdomäne für diese Instanz ab.
Öffentliche Eigenschaft ShadowCopyFiles Gibt an, ob die Anwendungsdomäne für das Erstellen von Dateischattenkopien konfiguriert ist.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode AppendPrivatePath Veraltet. Fügt den angegebenen Verzeichnisnamen der Liste der privaten Pfade hinzu.
Öffentliche Methode ApplyPolicy Gibt den Assemblyanzeigenamen nach dem Anwenden der Richtlinien zurück.
Öffentliche Methode ClearPrivatePath Veraltet. Setzt den Pfad, der den Speicherort von privaten Assemblys angibt, auf die leere Zeichenfolge ("") zurück.
Öffentliche Methode ClearShadowCopyPath Veraltet. Setzt die Liste der Verzeichnisse mit gespiegelten Assemblys auf die leere Zeichenfolge ("") zurück.
Öffentliche Methode CreateComInstanceFrom(String, String) Erstellt eine neue Instanz eines angegebenen COM-Typs. Die Parameter geben den Namen einer Datei mit einer Assembly an, die den Typ und seinen Namen enthält.
Öffentliche Methode CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm) Erstellt eine neue Instanz eines angegebenen COM-Typs. Die Parameter geben den Namen einer Datei mit einer Assembly an, die den Typ und seinen Namen enthält.
Öffentliche Methode Statischer Member Unterstützt von XNA Framework CreateDomain(String) Erstellt eine neue Anwendungsdomäne mit dem angegebenen Namen.
Öffentliche Methode Statischer Member Unterstützt von XNA Framework CreateDomain(String, Evidence) Erstellt eine neue Anwendungsdomäne mit dem angegebenen Namen und den bereitgestellten Beweisen.
Öffentliche Methode Statischer Member CreateDomain(String, Evidence, AppDomainSetup) Erstellt eine neue Anwendungsdomäne mit dem angegebenen Namen, den angegebenen Beweisen und Anwendungsdomänen-Setupinformationen.
Öffentliche Methode Statischer Member CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) Erstellt eine neue Anwendungsdomäne mit angegebenem Namen, Beweis, Anwendungsdomänen-Setupinformationen, Standardberechtigungssatz und Array vollständig vertrauenswürdiger Assemblys.
Öffentliche Methode Statischer Member CreateDomain(String, Evidence, String, String, Boolean) Erstellt eine neue Anwendungsdomäne mit dem angegebenen Namen unter Verwendung der Beweise, des Anwendungsbasispfades, des relativen Suchpfades und eines Parameters, der angibt, ob eine Schattenkopie einer Assembly in die Anwendungsdomäne geladen werden soll.
Öffentliche Methode Statischer Member CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[]) Erstellt eine neue Anwendungsdomäne mit dem angegebenen Namen unter Verwendung der Beweise, des Anwendungsbasispfades, des relativen Suchpfades und eines Parameters, der angibt, ob eine Schattenkopie einer Assembly in die Anwendungsdomäne geladen werden soll. Gibt eine Rückrufmethode an, die beim Initialisieren der Anwendungsdomäne aufgerufen wird, und ein Array von Zeichenfolgenargumenten, die an die Rückrufmethode übergeben werden sollen.
Öffentliche Methode CreateInstance(String, String) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist.
Öffentliche Methode CreateInstance(String, String, Object[]) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Ein Parameter gibt ein Array von Aktivierungsattributen an.
Öffentliche Methode CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Binder, Bindungsflags, Konstruktorargumente, kulturspezifische Informationen zum Interpretieren von Argumenten und optionale Aktivierungsattribute an.
Öffentliche Methode CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Veraltet. Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assembly definiert ist. Parameter geben einen Binder, Bindungsflags, Konstruktorargumente, kulturabhängige Informationen zum Interpretieren von Argumenten, Aktivierungsattribute und die Autorisierung zum Erstellen des Typs an.
Öffentliche Methode CreateInstanceAndUnwrap(String, String) Erstellt eine neue Instanz des angegebenen Typs. Die Parameter geben die Assembly, in der der Typ definiert ist, und den Namen des Typs an.
Öffentliche Methode CreateInstanceAndUnwrap(String, String, Object[]) Erstellt eine neue Instanz des angegebenen Typs. Die Parameter geben die Assembly an, in der der Typ definiert ist, und den Namen des Typs und ein Array von Aktivierungsattributen.
Öffentliche Methode CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) Erstellt eine neue Instanz des angegebenen, in der angegebenen Assembly definierten Typs, die angibt, ob der Fall des Typnamens ignoriert wird, außerdem die Bindungsattribute und den Binder, mit denen der zu erstellende Typ ausgewählt wird, die Argumente des Konstruktors, die Kultur und die Aktivierungsattribute.
Öffentliche Methode CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Veraltet. Erstellt eine neue Instanz des angegebenen Typs. Die Parameter geben den Namen des Typs an und wie er gesucht und erstellt werden kann.
Öffentliche Methode CreateInstanceFrom(String, String) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateInstanceFrom(String, String, Object[]) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Veraltet. Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateInstanceFromAndUnwrap(String, String) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateInstanceFromAndUnwrap(String, String, Object[]) Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]) Erstellt eine neue Instanz des angegebenen, in der angegebenen Assemblydatei definierten Typs, die angibt, ob der Fall des Typnamens ignoriert wird, außerdem die Bindungsattribute und den Binder, mit denen der zu erstellende Typ ausgewählt wird, die Argumente des Konstruktors, die Kultur und die Aktivierungsattribute.
Öffentliche Methode CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence) Veraltet. Erstellt eine neue Instanz des angegebenen Typs, der in der angegebenen Assemblydatei definiert ist.
Öffentliche Methode CreateObjRef Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess) Definiert eine dynamische Assembly mit dem angegebenen Namen und Zugriffsmodus.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>) Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus und benutzerdefinierten Attributen.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus und Beweis.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String) Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus und Speicherverzeichnis.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>, SecurityContextSource) Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus und benutzerdefinierten Attributen und verwendet die angegebene Quelle für den Sicherheitskontext.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Speicherverzeichnis und Beweis.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet) Veraltet. Definiert eine dynamische Assembly mit dem angegebenem Namen, Zugriffsmodus und den angegebenen Berechtigungsanforderungen.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>) Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Speicherverzeichnis und der Synchronisierungsoption.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Beweis und den angegebenen Berechtigungsanforderungen.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Speicherverzeichnis und den angegebenen Berechtigungsanforderungen.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Speicherverzeichnis, Beweis und den angegebenen Berechtigungsanforderungen.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Speicherverzeichnis, Beweis sowie der angegebenen Synchronisierungsoption und den angegebenen Berechtigungsanforderungen.
Öffentliche Methode DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>) Veraltet. Definiert eine dynamische Assembly mit dem angegebenen Namen, Zugriffsmodus, Speicherverzeichnis, Beweis sowie der angegebenen Synchronisierungsoption und den angegebenen Berechtigungsanforderungen und benutzerdefinierten Attributen.
Öffentliche Methode DoCallBack Führt den Code in einer anderen Anwendungsdomäne aus, die durch den angegebenen Delegaten bezeichnet wird.
Öffentliche Methode Unterstützt von XNA Framework Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework ExecuteAssembly(String) Führt die Assembly in der angegebenen Datei aus.
Öffentliche Methode ExecuteAssembly(String, Evidence) Veraltet. Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise aus.
Öffentliche Methode ExecuteAssembly(String, String[]) Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente aus.
Öffentliche Methode Unterstützt von XNA Framework ExecuteAssembly(String, Evidence, String[]) Veraltet. Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise und Argumente aus.
Öffentliche Methode ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente, des Hashwerts und Hashalgorithmus aus.
Öffentliche Methode ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm) Veraltet. Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise, Argumente, des Hashwerts und Hashalgorithmus aus.
Öffentliche Methode ExecuteAssemblyByName(String) Führt eine Assembly unter Angabe ihres Anzeigenamens aus.
Öffentliche Methode ExecuteAssemblyByName(AssemblyName, String[]) Führt bei Angabe eines AssemblyName die Assembly mit den angegebenen Argumenten aus.
Öffentliche Methode ExecuteAssemblyByName(String, Evidence) Veraltet. Führt eine Assembly unter Angabe ihres Anzeigenamens mit dem angegebenen Beweis aus.
Öffentliche Methode ExecuteAssemblyByName(String, String[]) Führt die Assembly unter Angabe ihres Anzeigenamens mit den angegebenen Argumenten aus.
Öffentliche Methode ExecuteAssemblyByName(AssemblyName, Evidence, String[]) Veraltet. Führt bei Angabe eines AssemblyName die Assembly mit dem angegebenen Beweis und den angegebenen Argumenten aus.
Öffentliche Methode ExecuteAssemblyByName(String, Evidence, String[]) Veraltet. Führt die Assembly unter Angabe ihres Anzeigenamens mit dem angegebenen Beweis und den angegebenen Argumenten aus.
Geschützte Methode Unterstützt von XNA Framework Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetAssemblies Ruft die Assemblys ab, die in den Ausführungskontext dieser Anwendungsdomäne geladen wurden.
Öffentliche Methode Statischer Member GetCurrentThreadId Veraltet. Ruft den aktuellen Threadbezeichner ab.
Öffentliche Methode GetData Ruft den in der aktuellen Anwendungsdomäne gespeicherten Wert für den angegebenen Namen ab.
Öffentliche Methode Unterstützt von XNA Framework GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetLifetimeService Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Öffentliche Methode Unterstützt von XNA Framework GetType Ruft den Typ der aktuellen Instanz ab.

In XNA Framework 3.0 wird dieser Member von Object.GetType().
Öffentliche Methode InitializeLifetimeService Führt zu einer unendlichen Lebensdauer der AppDomain, indem das Erstellen eines Lease verhindert wird. (Überschreibt MarshalByRefObject.InitializeLifetimeService().)
Öffentliche Methode IsCompatibilitySwitchSet Ruft einen booleschen Wert, der NULL-Werte zulässt, ab, der angibt, ob alle Kompatibilitätsschalter festgelegt werden und ob in diesem Fall der angegebene Kompatibilitätsschalter festgelegt wird.
Öffentliche Methode IsDefaultAppDomain Gibt einen Wert zurück, der angibt, ob die Anwendungsdomäne die Standardanwendungsdomäne für den Prozess ist.
Öffentliche Methode IsFinalizingForUnload Gibt an, ob diese Anwendungsdomäne entladen wird und ob die darin enthaltenen Objekte durch die Common Language Runtime finalisiert werden.
Öffentliche Methode Load(AssemblyName) Lädt eine Assembly bei Angabe ihres AssemblyName.
Öffentliche Methode Load(Byte[]) Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine angegebene Assembly enthält.
Öffentliche Methode Load(String) Lädt eine Assembly bei Angabe ihres Anzeigenamens.
Öffentliche Methode Load(AssemblyName, Evidence) Veraltet. Lädt eine Assembly bei Angabe ihres AssemblyName.
Öffentliche Methode Load(Byte[], Byte[]) Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine angegebene Assembly enthält. Die Rohdatenbytes, die die Symbole für die Assembly darstellen, werden ebenfalls geladen.
Öffentliche Methode Load(String, Evidence) Veraltet. Lädt eine Assembly bei Angabe ihres Anzeigenamens.
Öffentliche Methode Load(Byte[], Byte[], Evidence) Veraltet. Lädt die Assembly mit einem COFF-Image (Common Object File Format), das eine angegebene Assembly enthält. Die Rohdatenbytes, die die Symbole für die Assembly darstellen, werden ebenfalls geladen.
Geschützte Methode Unterstützt von XNA Framework MemberwiseClone() Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode MemberwiseClone(Boolean) Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Öffentliche Methode ReflectionOnlyGetAssemblies Gibt die Assemblys zurück, die in den Reflektionskontext der Anwendungsdomäne geladen wurden.
Öffentliche Methode SetAppDomainPolicy Veraltet. Legt die Sicherheitsrichtlinienebene für diese Anwendungsdomäne fest.
Öffentliche Methode SetCachePath Veraltet. Legt den angegebenen Verzeichnispfad als Speicherort für gespiegelte Assemblys fest.
Öffentliche Methode SetData(String, Object) Weist der angegebenen Anwendungsdomäneneigenschaft den angegebenen Wert zu.
Öffentliche Methode SetData(String, Object, IPermission) Weist der angegebenen Anwendungsdomäneneigenschaft den angegebenen Wert mit einer angegebenen Berechtigung zu, die der Aufrufer beim Abrufen der Eigenschaft besitzen muss.
Öffentliche Methode SetDynamicBase Veraltet. Legt den angegebenen Verzeichnispfad als das Basisverzeichnis fest, in dem Unterverzeichnisse für die Speicherung und den Zugriff auf dynamisch generierte Dateien erstellt werden.
Öffentliche Methode SetPrincipalPolicy Gibt an, wie Haupt- und Identitätsobjekte an einen Thread angefügt werden sollen, wenn während der Ausführung in dieser Anwendungsdomäne versucht wird, den Thread an einen Principal zu binden.
Öffentliche Methode SetShadowCopyFiles Veraltet. Aktiviert die Schattenkopiefunktion.
Öffentliche Methode SetShadowCopyPath Veraltet. Legt den angegebenen Verzeichnispfad als Speicherort für zu spiegelnde Assemblys fest.
Öffentliche Methode SetThreadPrincipal Legt das Standardprincipalobjekt fest, das an Threads angefügt wird, wenn bei der Ausführung in dieser Anwendungsdomäne versucht wird, diese an ein Principal zu binden.
Öffentliche Methode Unterstützt von XNA Framework ToString Ruft eine Zeichenfolgenentsprechung ab, die den angezeigten Namen der Anwendungsdomäne und aller Kontextrichtlinien einschließt. (Überschreibt Object.ToString().)
Öffentliche Methode Statischer Member Unterstützt von XNA Framework Unload Entlädt die angegebene Anwendungsdomäne.
Zum Seitenanfang
  Name Beschreibung
Öffentliches Ereignis AssemblyLoad Tritt beim Laden einer Assembly ein.
Öffentliches Ereignis AssemblyResolve Tritt ein, wenn die Auflösung einer Assembly fehlschlägt.
Öffentliches Ereignis DomainUnload Tritt ein, wenn eine AppDomain gerade entladen werden soll.
Öffentliches Ereignis FirstChanceException Tritt auf, wenn eine Ausnahme in verwaltetem Code ausgelöst wird, bevor die Laufzeit in der Aufrufliste nach einem Ausnahmehandler in der Anwendungsdomäne sucht.
Öffentliches Ereignis ProcessExit Tritt ein, wenn der übergeordnete Prozess der Standardanwendungsdomäne beendet wird.
Öffentliches Ereignis ReflectionOnlyAssemblyResolve Tritt ein, wenn die Auflösung einer Assembly im Reflektionskontext fehlschlägt.
Öffentliches Ereignis ResourceResolve Tritt ein, wenn die Auflösung einer Ressource fehlschlägt, weil die Ressource keine gültige verknüpfte oder eingebettete Ressource in der Assembly ist.
Öffentliches Ereignis TypeResolve Tritt ein, wenn die Auflösung eines Typs fehlschlägt.
Öffentliches Ereignis Unterstützt von XNA Framework UnhandledException Tritt auf, wenn eine Ausnahme nicht abgefangen wird.
Zum Seitenanfang
  Name Beschreibung
Explizite Schnittstellenimplementierung Private Methode _AppDomain.GetIDsOfNames Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.
Explizite Schnittstellenimplementierung Private Methode _AppDomain.GetTypeInfo Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.
Explizite Schnittstellenimplementierung Private Methode _AppDomain.GetTypeInfoCount Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).
Explizite Schnittstellenimplementierung Private Methode _AppDomain.Invoke Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.
Zum Seitenanfang

Anwendungsdomänen werden durch AppDomain-Objekte dargestellt und unterstützen die Bereitstellung von Begrenzungen der Isolation, Entladung und Sicherheit für die Ausführung von verwaltetem Code.

  • Verwenden Sie Anwendungsdomänen, um Aufgaben zu isolieren, die einen Prozess zum Absturz bringen könnten. Wenn der Zustand der AppDomain, in der eine Aufgabe ausgeführt wird, instabil wird, kann die AppDomain ohne Auswirkungen auf den Prozess entladen werden. Dies ist wichtig, wenn ein Prozess über einen längeren Zeitraum ohne Neustart ausgeführt werden muss. Sie können auch Anwendungsdomänen verwenden, um Aufgaben zu isolieren, die keine Daten gemeinsam verwenden sollten.

  • Wenn eine Assembly in die Standardanwendungsdomäne geladen wird, kann sie während der Ausführung des Prozesses nicht aus dem Speicher entladen werden. Wenn Sie hingegen eine zweite Anwendungsdomäne zum Laden und Ausführen der Assembly öffnen, wird die Assembly beim Entladen dieser Anwendungsdomäne entladen. Verwenden Sie dieses Verfahren, um das Workingset von Prozessen mit langer Laufzeit zu minimieren, die gelegentlich große DLLs verwenden.

In einem Prozess können mehrere Anwendungsdomänen ausgeführt werden. Allerdings besteht keine Eins-zu-Eins-Entsprechung zwischen Anwendungsdomänen und Threads. Zu einer Anwendungsdomäne können mehrere Threads gehören. Obwohl ein Thread nicht auf eine einzige Anwendungsdomäne beschränkt ist, wird ein Thread immer nur in einer einzigen Anwendungsdomäne ausgeführt.

Anwendungsdomänen werden mit der CreateDomain-Methode erstellt. AppDomain-Instanzen werden verwendet, um Assemblys (Assembly) zu laden und auszuführen. Wenn eine AppDomain nicht mehr verwendet wird, kann sie entladen werden.

Die AppDomain-Klasse implementiert eine Gruppe von Ereignissen, die es Anwendungen ermöglichen zu antworten, wenn eine Assembly geladen, eine Anwendungsdomäne entladen oder eine nicht behandelte Ausnahme ausgelöst wird.

Weitere Informationen über die Verwendung von Anwendungsdomänen finden Sie unter Anwendungsdomänen.

Diese Klasse implementiert die MarshalByRefObject-Schnittstelle, die _AppDomain-Schnittstelle und die IEvidenceFactory-Schnittstelle.

Erstellen Sie unter keinen Umständen einen remotefähigen Wrapper für ein AppDomain-Objekt. Dadurch wird möglicherweise ein Remoteverweis auf diese AppDomain veröffentlich, und Methoden wie CreateInstance werden für einen Remotezugriff offen gelegt, sodass die Codezugriffssicherheit für diese AppDomain zunichte gemacht wird. Böswillige Clients, die eine Verbindung mit der Remote-AppDomain herstellen, können sich Zugriff auf eine beliebige Ressource verschaffen, auf die die AppDomain selbst Zugriff hat. Erstellen Sie keine remotefähigen Wrapper für von MarshalByRefObject abgeleitete Typen und für Typen, die Methoden implementieren, mit denen böswillige Clients das Sicherheitssystem umgehen können.

Warnhinweis Vorsicht

Der Standardwert für die AppDomainSetup.DisallowCodeDownload-Eigenschaft ist false. Diese Einstellung ist für Dienste nicht sicher. Legen Sie die diese Eigenschaft auf true fest, um zu verhindern, dass Dienste teilweise vertrauenswürdigen Code herunterladen.

In diesem Beispiel wird veranschaulicht, wie eine neue AppDomain erstellt, in dieser neuen AppDomain ein Typ instanziiert und mit dem Objekt dieses Typs kommuniziert werden kann. Außerdem veranschaulicht dieses Beispiel das Entladen der AppDomain, sodass das Objekt von der Garbage Collection freigegeben wird.


using System;
using System.Reflection;
using System.Threading;

class Module1
{
    public static void Main()
    {
        // Get and display the friendly name of the default AppDomain.
        string callingDomainName = Thread.GetDomain().FriendlyName;
        Console.WriteLine(callingDomainName);

        // Get and display the full name of the EXE assembly.
        string exeAssembly = Assembly.GetEntryAssembly().FullName;
        Console.WriteLine(exeAssembly);

        // Construct and initialize settings for a second AppDomain.
        AppDomainSetup ads = new AppDomainSetup();
        ads.ApplicationBase = 
            System.Environment.CurrentDirectory;
        ads.DisallowBindingRedirects = false;
        ads.DisallowCodeDownload = true;
        ads.ConfigurationFile = 
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

        // Create the second AppDomain.
        AppDomain ad2 = AppDomain.CreateDomain("AD #2", null, ads);

        // Create an instance of MarshalbyRefType in the second AppDomain. 
        // A proxy to the object is returned.
        MarshalByRefType mbrt = 
            (MarshalByRefType) ad2.CreateInstanceAndUnwrap(
                exeAssembly, 
                typeof(MarshalByRefType).FullName
            );

        // Call a method on the object via the proxy, passing the 
        // default AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName);

        // Unload the second AppDomain. This deletes its object and 
        // invalidates the proxy object.
        AppDomain.Unload(ad2);
        try
        {
            // Call the method again. Note that this time it fails 
            // because the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName);
            Console.WriteLine("Sucessful call.");
        }
        catch(AppDomainUnloadedException)
        {
            Console.WriteLine("Failed call; this is expected.");
        }
    }
}

// Because this class is derived from MarshalByRefObject, a proxy 
// to a MarshalByRefType object can be returned across an AppDomain 
// boundary.
public class MarshalByRefType : MarshalByRefObject
{
    //  Call this method via a proxy.
    public void SomeMethod(string callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", 
            ads.ApplicationName, 
            ads.ApplicationBase, 
            ads.ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name 
        // of the second domain.
        // NOTE: The application's thread has transitioned between 
        // AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.", 
            callingDomainName, 
            Thread.GetDomain().FriendlyName
        );
    }
}

/* This code produces output similar to the following: 

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ