2009-11-26 1 views
1

CLR이 C 응용 프로그램 내에서 호스팅되는 프로젝트를 진행하고 있습니다. CLR 연결을 해제하고 다시 시작하는 방법이 지원됩니까?CLR을 다시로드 할 수 있습니까?

+0

왜 다시로드 하시겠습니까? IIS 모델에서 재로드/재활용 단위는 작업자 프로세스 자체입니다. SQLCLR에 대해 잘 모르지만, 거기에 뭔가 더 흥미로운 것이있을 것 같습니다. – Cheeso

답변

1

저는 지금 당장 책이 없지만 믿을 수는 없지만 (Customization the Common Language Runtime) 그럴 수는 없습니다. 언로드 할 수 있습니다 (즉, "사용하지 않도록 설정"할 수는 있지만 같은 프로세스 인스턴스에서 다시로드 할 수는 없습니다).

+0

그건 사실이고 그것은 고통입니다 (특히 CLR 호스팅 코드를 테스트하기위한 것입니다!) –

3

CLR을 다시로드하는 대신 작성한 AppDomain에 모든 정보를로드하고 호스팅 할 수 있습니다.

그러면 전체 AppDomain을 언로드하고 새 AppDomain을로드하는 등 AppDomain의 수명을 관리 할 수 ​​있습니다.

이렇게하면 실제로 CLR을 언로드하지 않고 CLR을 다시로드하면 얻을 수있는 이점 대부분을 얻을 수 있습니다.