Freigeben über


Konzepte von COM+ Low-Memory-Aktivierungsgates

Im Allgemeinen ist keine Synchronisierung erforderlich, wenn Sie über ein Singlethread-Apartment (STA) verfügen, da das Apartment die Synchronisierung für Sie bereitstellt. Die Synchronisierung wird wichtig, wenn Sie über ein Multithread-Apartment (MTA) und ein Freethread-Objekt verfügen. In der Vergangenheit mussten Freethreadobjekte sperren. Sie können die Verwendung von Sperren vermeiden, indem Sie das Synchronisierungsattribut für eine Komponente festlegen.

Zuverlässigkeitsprobleme treten häufig auf, wenn die Ressourcen eines Servers nicht effizient auf Spitzenlasten reagieren können. Wenn ein Server nicht über genügend physische Ressourcen verfügt, um spitzen Bedarf zu decken, kann er den virtuellen Arbeitsspeicher aufgebraucht haben. Dies wird zu einem Problem, wenn der Benutzer- oder Systemcode Fehler bei der Speicherbelegung nicht ordnungsgemäß behandelt. Der Server beginnt sich zu verlangsamen, und wenn der Arbeitsspeicher erschöpft ist, schlägt die Speicherbelegung fehl. Der Server führt Fehlerpfade aus, um die Zuordnungsfehler zu behandeln. Wenn ein Fehlerpfad einen Fehler im System- oder Benutzercode enthält, der auf dem Server ausgeführt wird, ist es äußerst schwierig, diese abzufangen und sicher zu behandeln.

COM+ versucht, Situationen zu verhindern, in denen diese Fehlerpfade auf einem Server ausgeführt werden müssen. Durch die Funktion "Aktivierungsgates mit geringem Arbeitsspeicher" überwacht COM+ die Arbeitsspeicherauslastung im System proaktiv und stellt sicher, dass vor der Ausführung des Benutzercodes eine angemessene Menge an Arbeitsspeicher zur Verfügung steht. Wenn der Prozentsatz des für die Anwendung verfügbaren virtuellen Arbeitsspeichers unter einen festen Schwellenwert fällt, schlägt die Aktivierung fehl, bevor eine COM+-Serveranwendung oder ein COM+-Serverobjekt erstellt wird (wie in der folgenden Abbildung dargestellt). Durch fehlschlagende Aktivierungen, die normalerweise ausgeführt würden, minimiert das Feature Aktivierungsgates mit geringem Arbeitsspeicher die Probleme im Zusammenhang mit Speicherbelegungen im Benutzercode, wodurch die Systemzuverlässigkeit erheblich verbessert wird.

Diagramm, das die Beziehung zwischen einer COM+-Anwendung und einem Aktivierungsgate mit geringem Arbeitsspeicher zeigt.

Das Feature "Aktivierungsgates mit geringem Arbeitsspeicher" gilt nur für konfigurierte COM-Komponenten, die in einer COM+-Anwendung installiert sind.

Funktionsweise des Features für Low-Memory-Aktivierungsgates

Das Feature "Aktivierungsgates mit geringem Arbeitsspeicher" verwendet je nach Aktivierungstyp eine andere feste Schwellenwertstufe. Beim Erstellen einer COM+-Serveranwendung ermöglicht COM+ die Aktivierung, wenn mehr als 10 Prozent des virtuellen Arbeitsspeichers verfügbar sind. Wenn weniger als 10 Prozent verfügbar sind, nimmt COM+ eine Testzuordnung vor, um festzustellen, ob die Auslagerungsdatei erweitert werden kann, um die neue Arbeitsspeicherauslastung zu berücksichtigen. Wenn die Auslagerungsdatei erweitert wird, wird die Serveranwendung erstellt. Wenn die Auslagerungsdatei nicht erweitert werden kann, schlägt die Aktivierung fehl, und der Arbeitsspeicher wird nicht zugewiesen.

Der Prozess ist beim Erstellen eines Objekts ähnlich. In diesem Fall ermöglicht COM+ die Aktivierung, wenn mehr als 5 Prozent des virtuellen Arbeitsspeichers verfügbar sind. Wenn weniger als 5 Prozent verfügbar sind, wird com+ mit einer Testzuordnung fortgesetzt. Wenn die Testzuordnung die Auslagerungsdatei erweitert, wird das -Objekt erstellt. Andernfalls schlägt die Aktivierung fehl.

Die festen Schwellenwerte für Aktivierungsgates mit geringem Arbeitsspeicher sind derzeit nicht konfigurierbar. Aus diesem Grund sind dieser Funktion keine Aufgaben zugeordnet.