ResourceManager.ReleaseAllResources Метод

Определение

Сообщает диспетчеру ресурсов, что следует вызвать метод Close() на всех объектах ResourceSet и освободить все ресурсы.Tells the resource manager to call the Close() method on all ResourceSet objects and release all resources.

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

Комментарии

Этот метод позволяет сжать рабочий набор в работающем приложении.This method will shrink the working set in a running app. Все будущие поиски ресурсов в этом ResourceManager объекте будут считаться дорогостоящими при первом поиске, так как диспетчеру ресурсов потребуется повторить поиск и загрузку ресурсов.Any future resource lookups on this ResourceManager object will be as expensive as the first lookup, because the resource manager will have to search and load resources again. Это может быть полезно в некоторых сложных сценариях работы с потоками, где создание нового ResourceManager объекта является соответствующим поведением.This can be useful in some complex threading scenarios, where creating a new ResourceManager object is the appropriate behavior.

Примечание

Начиная с версии платформа .NET Framework 2,0, ReleaseAllResources метод не является потокобезопасным по отношению к GetObject GetString GetStream операциям, и.Starting with the .NET Framework version 2.0, the ReleaseAllResources method is not thread safe with respect to GetObject, GetString, and GetStream operations. Преимуществом этого изменения является повышение производительности для нескольких потоков, обращающихся к ресурсам.The advantage of this change is a performance improvement for multiple threads that access resources. Однако при вызове ReleaseAllResources метода в одном потоке при одновременном получении ресурса в другом потоке операция Get может вызвать ObjectDisposedException исключение.However, if you call the ReleaseAllResources method in one thread while simultaneously getting a resource in another thread, the get operation can throw an ObjectDisposedException exception.

Этот метод также можно использовать в ситуациях, когда управляемые экземпляры ресурсов, созданных текущим диспетчером ресурсов, должны освобождаться детерминированным образом, не дожидаясь того, как диспетчер ресурсов полностью выйдет из области действия и будет удален сборщиком мусора.You can also use this method in situations where the managed instances for the resources created by the current resource manager have to be released deterministically, without waiting for the resource manager to go completely out of scope and be garbage collected.

Примечание

Вызов этого метода не выгружает вспомогательные сборки.Calling this method does not unload satellite assemblies. Чтобы выгрузить вспомогательные сборки, используйте Unload метод.To unload satellite assemblies, use the Unload method .

Применяется к