Assembly.Load를 사용하여로드되는 DLL에는 큰 데이터 집합을 반환하는 장기 실행 메서드가 있습니다. AppDomains를 만들어이 DLL의 다른 버전을 실행하려고합니다. 그러나 AppDomain을 사용하지 않았으므로 AppDomain 경계에서 마샬링/직렬화의 복잡성과 성능에 대해 확신하지 못합니다.같은 유형의 패브릭 액터에 동일한 dll의 다른 버전을 사용할 수 있습니까?
따라서 AppDomains를 사용하기 전에 서비스 패브릭의 마이크로 서비스 아키텍처를 활용하여 AppDomains를 우회 할 수 있는지 궁금합니다.
감사합니다.
다른 버전의 DLL을 사용하는 다른 액터 서비스를 만들 수 있습니다. 그렇지 않으면 단일 액터에서 동일한 dll의 다른 버전을 사용하는 심각한 부작용 (버그, 유지 관리 가능성)이 있습니다. – alltej
@alltej 문제는 이러한 dll이 데이터베이스에서 동적으로로드된다는 것입니다. 나는이 액터가 다른 프로세스로 실행되어 다른 AppDomains를 가지길 희망했지만 잘못된 것이 었습니다. Assembly.Load 메서드에 어셈블리 또는 해당 Unload 메서드를 다시로드하기위한 오버로드 메서드가 있으면 문제가 해결됩니다. –