나는 그들을 위해 폴링하는 동안 장기 실행 작업을 시작하는 Windows 서비스가 있습니다. 진행중인 태스크를 방해하지 않고 서비스 자체 및 태스크 라이브러리를 갱신 할 수있는 기능을 빌드하고자합니다. 이 작업을 수행하려는 방법은 바이너리를 섀도 잉하고 섀도 잉 된 폴더에서 별도의 프로세스를 시작하는 표준 기술을 사용하는 것입니다. 나가 가서 자기 자신의 것을 굴리기 전에, 내가 저기에서 도움이되는 도서관이 있는지 찾아보고 싶다.구성 요소의 핫 업데이트 - 모든 .NET API?
나는 MAF
& MEF
을 조사한 결과 내 요구 사항을 충족시키지 못한다고 결론을 냈습니다. 모든 포인터 크게 감사하겠습니다.
각 도구/작업을 자체 AppDomain에로드하고 공유 인터페이스를 사용하십시오. – kenny
작업이 아직 실행 중일 때 바이너리를 업데이트하는 데 도움이되지 않는다고 생각합니다. 내가 놓친 게 있니? –
다음과 같은 기술을 사용하여 아래 답변을 제공했습니다 ... 물론. 난 잠시 동안 그것을 시도하지 않은,하지만 당신이 새 ApplicationDomain에 새 DLL을로드하고 그것을 시작할 수있을 것 같아요. 실행중인 작업이 완료되면 이전 응용 프로그램 도메인을 삭제할 수 있으므로 도구 어셈블리가 언로드됩니다. 탑 셀프 (Topshelf)는 자신의 툴링을보다 쉽게 제작할 수 있습니다. – kenny