Manager. Release All Resources Method
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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. 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. This can be useful in some complex threading scenarios, where creating a new ResourceManager object is the appropriate behavior.
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. 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. To unload satellite assemblies, use the Unload method .