2013-09-27 2 views
1

이론적 인 질문이 있습니다. 짧은원격 객체에 약한 참조 (투명 프록시)

: 그것은에 대한 마지막 참조가 WeakReference를하지만, 실제 개체가 여전히 호스트 프로세스에서 참조되는 경우

는 투명 프록시 개체가 수집됩니다.

예를는 :

사용 된 예는 이해가되지 않지만 실제 시나리오를 설명하기에는 너무 복잡하다. WeakReferenceExampleMSDN

는 이제 캐시가 다른 프로세스 (원격)에 살고있는 개체로 가득 :

여기에 설명 된대로있는 WeakReferences 실현 캐시가 가정했다. 이러한 객체는 로컬 프로세스에만 있으며 투명한 프록시 객체이며 수명은 다른 프로세스에 의해 제어됩니다.

마법이 없다면 프록시 객체는 실제 객체의 핸들이기 때문에 프록시 객체가 수집되는 것으로 가정합니다. GC를 처음 실행 한 후 캐시는 비어 있습니다.

  • 일부 마법과 이론적 캐시가 원격 개체에서 작동합니까?
+2

이것을 단순히 테스트하면 안됩니까? 약한 참조를 만듭니다. 영원히 잠을 자고 (GC.Collect) 값이 있는지 확인하십시오. – Alxandr

답변

0

투명 프록시는 GC로 수집됩니다. 따라서 이러한 캐시는 RemoteObject에 대해서는 작동하지 않습니다.