Zuhause Entwicklung Was ist eine Anwendungsdomäne in .net? - Definition aus techopedia

Was ist eine Anwendungsdomäne in .net? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Anwendungsdomäne?

Eine Anwendungsdomäne ist eine logische Isolationsgrenze, die um .NET-Anwendungen erstellt wird, sodass Anwendungen nicht aufeinander zugreifen oder sich gegenseitig beeinflussen. Es ist ein leichter Prozess mit eigenen Code-, Daten- und Konfigurationseinstellungen. Anwendungsdomänen werden von den Laufzeithosts erstellt, die von der Common Language Runtime (CLR) aufgerufen werden, um die auszuführenden Anwendungen zu laden.


Vor .NET war die Isolationsgrenze zwischen Anwendungen der Prozess, in den sie geladen wurden. Jeder Prozess hatte seinen eigenen virtuellen Speicher und kann nicht direkt auf den Speicher eines anderen Prozesses zugreifen. Die Anwendungsdomäne verfügt über ähnliche Funktionen wie ein Prozess.


Anwendungsdomänen weisen die folgenden Funktionen auf:

  1. Optimale Auslastung der Systemressourcen durch weniger Prozesse zur Ausführung mehrerer Anwendungen.
  2. Zuverlässigkeit durch Isolation von Aufgaben in Situationen, in denen Daten nicht gemeinsam genutzt werden können, und für instabile Aufgaben, die entladen werden müssen, ohne den Prozess zu beeinträchtigen.
  3. Höhere Effizienz durch die Ausführung lang laufender Prozesse, bei denen selten große Erweiterungen mit optimalem Arbeitsspeicher verwendet werden.
  4. Anwendungssicherheit durch Einschränkung des direkten Zugriffs auf den in einer Anwendung ausgeführten Code aus dem Code oder den Ressourcen einer anderen Anwendung.
  5. Sicherheitskontrolle durch Angabe von Konfigurationsdetails für jede Anwendungsdomäne.

Techopedia erklärt die Anwendungsdomäne

Die Anwendungsdomäne unterscheidet sich in der Art und Weise, in der die CLR mehrere .NET-Anwendungen in einem einzigen Prozess lädt und ausführt. Es erlaubt keinen direkten Zugriff auf den Speicher geladener Anwendungen. Es wird von der CLR von .NET Framework verwaltet, während ein Prozess vom Betriebssystem verwaltet wird. Die CLR bietet eine Fehlerisolierung zwischen Anwendungsdomänen mit weniger Aufwand als Prozesse, da die nachweisbare Typensicherheit von verwaltetem Code inhärent ist. Es können sich auch mehrere Threads in einer Anwendungsdomäne befinden. Es steht ihnen frei, die Grenzen der Anwendungsdomäne zu überschreiten.


Beispielsweise ist ASP.NET ein Laufzeithost, der für jeden Benutzer, der auf eine Website zugreift, mehrere Anwendungsdomänen erstellt. Sie können auch für Anwendungen erstellt und konfiguriert werden, die Code isolieren oder Erweiterungen nur während der Verwendung laden müssen. Diese Tatsache macht Anwendungsdomänen in Situationen nützlich, in denen Plug-Ins und anderer nicht vertrauenswürdiger Code verwendet werden. Sie sind auch nützlich, um die Anzahl der Anwendungen zu minimieren, die große DLLs verwenden.


Um die Kommunikation zwischen Objekten in verschiedenen Anwendungsdomänen zu ermöglichen, wird einer der folgenden drei Objekttypen verwendet:

  1. Marshal-By-Value: Vollständige Kopie des Objekts, das an die aufrufende Anwendungsdomäne übergeben wurde. Dies wird verwendet, wenn der Status eines Objekts aus Leistungsgründen verschoben werden kann.
  2. Marshal-By-Reference-Reference (MBR): Ein Proxy des Objekts wird an den Client übergeben. Wird verwendet, wenn der Status des Objekts innerhalb der Anwendungsdomäne bleiben muss.
  3. Kontextgebunden: MBR-Objekt, das domänenübergreifend oder im Kontext seiner eigenen Anwendungsdomäne verwendet wird.
Diese Definition wurde im Kontext von .NET geschrieben
Was ist eine Anwendungsdomäne in .net? - Definition aus techopedia