ResourceManager.ReleaseAllResources Метод

Определение

Сообщает диспетчеру ресурсов вызвать метод Close() для всех объектов ResourceSet и освободить все ресурсы.

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

Комментарии

Этот метод сжимает рабочий набор в работающем приложении. Любые будущие поиски ресурсов в этом ResourceManager объекте будут столь же дорогими, как и первый поиск, так как диспетчер ресурсов придется искать и загружать ресурсы снова. Это может быть полезно в некоторых сложных сценариях потоков, где создание нового ResourceManager объекта является соответствующим поведением.

Note

Начиная с версии .NET Framework версии 2.0 метод ReleaseAllResources не является потокобезопасными в отношении операций GetObject, GetString и GetStream. Преимуществом этого изменения является улучшение производительности для нескольких потоков, обращаюющихся к ресурсам. Однако при вызове ReleaseAllResources метода в одном потоке при одновременном получении ресурса в другом потоке операция получения может вызвать ObjectDisposedException исключение.

Этот метод также можно использовать в ситуациях, когда управляемые экземпляры для ресурсов, созданных текущим диспетчером ресурсов, должны быть освобождены детерминированным образом, не ожидая полного выхода диспетчера ресурсов из области и сборки мусора.

Note

Вызов этого метода не выгрузит вспомогательные сборки. Чтобы выгрузить вспомогательные сборки, используйте Unload метод.

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