다음을 통해 공유


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 개체를 만드는 것이 적절한 동작인 일부 복잡한 스레딩 시나리오에서 유용할 수 있습니다.

참고

.NET Framework 버전 2.0 ReleaseAllResources 부터 메서드는 , GetString및 작업과 GetStream 관련하여 GetObject스레드로부터 안전하지 않습니다. 이 변경의 장점은 리소스에 액세스하는 여러 스레드의 성능 향상입니다. 그러나 한 스레드에서 메서드를 ReleaseAllResources 호출하는 동시에 다른 스레드에서 리소스를 가져오는 경우 get 작업은 예외를 throw할 ObjectDisposedException 수 있습니다.

리소스 관리자가 범위를 완전히 벗어나 가비지 수집될 때까지 기다리지 않고 현재 리소스 관리자가 만든 리소스에 대한 관리되는 인스턴스를 결정적으로 해제해야 하는 경우에도 이 메서드를 사용할 수 있습니다.

참고

이 메서드를 호출해도 위성 어셈블리는 언로드되지 않습니다. 위성 어셈블리를 언로드하려면 메서드를 Unload 사용합니다.

적용 대상