Udostępnij za pośrednictwem


ResourceManager.ReleaseAllResources Metoda

Definicja

Informuje menedżera zasobów o wywołaniu metody na wszystkich ResourceSet obiektach i zwolnieniu Close() wszystkich zasobów.

public:
 virtual void ReleaseAllResources();
public virtual void ReleaseAllResources ();
abstract member ReleaseAllResources : unit -> unit
override this.ReleaseAllResources : unit -> unit
Public Overridable Sub ReleaseAllResources ()

Uwagi

Ta metoda zmniejszy zestaw roboczy w uruchomionej aplikacji. Wszystkie przyszłe wyszukiwania zasobów w tym ResourceManager obiekcie będą tak drogie, jak pierwsze wyszukiwanie, ponieważ menedżer zasobów będzie musiał ponownie wyszukiwać i ładować zasoby. Może to być przydatne w niektórych złożonych scenariuszach wątkowych, w których tworzenie nowego ResourceManager obiektu jest odpowiednim zachowaniem.

Uwaga

Począwszy od .NET Framework w wersji 2.0, ReleaseAllResources metoda nie jest bezpieczna wątkiem w odniesieniu do GetObjectoperacji , GetStringi .GetStream Zaletą tej zmiany jest poprawa wydajności dla wielu wątków, które uzyskują dostęp do zasobów. Jeśli jednak wywołasz metodę ReleaseAllResources w jednym wątku, jednocześnie uzyskując zasób w innym wątku, operacja get może zgłosić ObjectDisposedException wyjątek.

Można również użyć tej metody w sytuacjach, w których wystąpienia zarządzane dla zasobów utworzonych przez bieżącego menedżera zasobów muszą być zwalniane deterministycznie, bez oczekiwania na całkowite wyjście menedżera zasobów z zakresu i odzyskiwanie pamięci.

Uwaga

Wywołanie tej metody nie zwalnia zestawów satelitarnych. Aby zwolnić zestawy satelitarne, użyj Unload metody .

Dotyczy