복합 패턴을 사용하는 구성 요소를 생성하고 있습니다. 핵심 구성 요소는 XMl 메타 데이터를 사용하여 컴포지트 (부품)를 정의합니다. 런타임시 핵심 컴포넌트는 리플렉션을 사용하여 부품 어셈블리를 메모리 및 호출 메소드에로드합니다 (예 : IPart.execute 메소드).
이제 내 문제는 내가 객체를 폐기하거나하지 않을 경우
1) 반사를 사용하여로드되는 어셈블리에 의해 점유 된 (동적) 메모리가 언로드 될 것입니다.
2) 메모리를 언로드하거나 해제하지 않으면 메모리에서 제거 할 수있는 방법이 있습니까?
이 질문의 이유는 내가 만들고있는 구성 요소가 커스터마이징이 가능한 엔터프라이즈 응용 프로그램의 비즈니스 계층의 핵심이되기 때문입니다.
감사 앨버트 Arul 프라 카쉬
우리가 Regex microsoft를 사용하면 동적 어셈블리를 만들고이 어셈블리는 application/appdomain이 재활용 될 때까지 메모리에서 가비지 수집/언로드되지 않는다고 말합니다. 리플렉션을 사용하여 어셈블리를로드하면 동적 어셈블리가 만들어집니다. 그렇다면 객체는 항상 메모리에 있으며 메모리 사용은 최적화되지 않습니다. 이것은 내 관심사입니다. 적절한 방어 코딩과 IDIspose 등을 통해 리소스를 확보 할 수 있습니다. – Bepenfriends