Frage

Ich weiß, dass beim erstellen einer DLL und erklärt die Artikel als "Shared" (Static in C#), die Sie instanziiert, wenn zunächst genannt, und dann, dass die Objekt-Referenz lebt als den einzigen Hinweis.

So deklarieren Sie eine gemeinsame Zeichenfolge-Eigenschaft, einmal eingestellt, kann erneut aufgerufen werden, um abrufen die gleichen Wert.Und, dass die thread-Sicherheit ist dann ein wichtiges Anliegen innerhalb der Anwendungsdomäne.

Was passiert außerhalb der Anwendungsdomäne.Wenn wir die assembly im Globalen Application Cache (GAC), wie viele Instanzen gibt es?

Zum Beispiel eine statische Eigenschaft namens "MyFileName" im GAC ' ed .dll.

Dann haben wir zwei Anwendungen aufrufen der GAC wird .dll.Wie viele Instanzen von "MyFileName" existieren würde?Würde änderungen an MyFileName von der Anwendung eine Kopie der Wert, die Anwendung Zwei verwendet?

War es hilfreich?

Lösung

Die dll instanziiert wird innerhalb der Anwendungsdomäne, so gibt es so viele verschiedene Exemplare, wie es AppDomains.Daten nicht übertragen werden zwischen AppDomains.Setzen Sie die DLL in den GAC macht es nur verfügbar für alles in einem Ort, es nicht ändern die Speicher-Modell .net.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top