Hostiteľská aplikácia monitoruje zdroje spotrebované AppDomain. Niektoré hostiteľky využívajú tieto informácie na zistenie, či spotreba pamäte alebo CPU AppDomain presahuje príslušnú úroveň, a vynútia AppDomain odinštalovať.
Môžete tiež použiť monitorovanie na porovnanie spotreby zdrojov rôznymi algoritmami a určiť, ktorý algoritmus spotrebuje menej zdrojov. Keďže monitorovanie AppDomain prirodzene spôsobuje režijné náklady, hostiteľ musí nastaviť statickú vlastnosť MonitoringEnabled AppDomain na true, aby sa zobrazilo otvorené monitorovanie.Monitorovanie sa nedá vypnúť po zapnutí; Ak sa pokúsite nastaviť MonitoringEnabled na false, zobrazí sa ArgumentException。
Keď je monitorovanie zapnuté, váš kód môže vyhľadávať nasledujúce štyri vlastnosti iba na čítanie, ktoré poskytuje trieda AppDomain.
- MonitoringSurvivedProcessMemorySize Táto statická vlastnosť int64 vracia počet bajtov použitých všetkými AppDomainami ovládanými aktuálnou inštanciou CLR. Toto číslo je zaručene presné až pri poslednom zbere odpadu.
- Vlastnosť MonitoringTotalAllocatedMemorySize tejto inštancie Int64 vracia počet bajtov pridelených konkrétnej AppDomain. Toto číslo je zaručene presné až pri poslednom zbere odpadu.
- Vlastnosť MonitoringSurvivedMemorySize tejto inštancie Int64 vracia počet bajtov, ktoré aktuálne používa konkrétna AppDomain. Toto číslo je zaručene presné až pri poslednom zbere odpadu.
- MonitoringTotalProcessorTime je vlastnosť inštancie TimeSpan, ktorá vracia využitie CPU konkrétnej AppDomain.
Nasleduje návod, ako použiť tieto tri vlastnosti na kontrolu zmien v AppDomain medzi dvoma časovými bodmi:
Nasleduje návod, ako používať triedu AppDomainMonitorDelta
|