code

MarshalByRefObject의 주요 용도는 무엇입니까?

codestyles 2020. 9. 12. 10:04
반응형

MarshalByRefObject의 주요 용도는 무엇입니까?


MarshalByRefObject의 목적은 무엇입니까?


원격; 즉, 객체를 직렬화하고 전송하는 대신 AppDomains 또는 시스템간에 객체가 한쪽 끝에 있고 다른 쪽 끝에 프록시가 만들어집니다. 프록시에 대한 모든 메서드 호출이 차단되고 호출 이 RPC wiki , msdn 으로 전송되어 메서드가 다른 컴퓨터에서 실행되도록합니다 (일반적으로 인수 및 반환 값 직렬화).

참고 : 이로 인해 예기치 않게 "수다스러운"인터페이스가 발생할 수 있습니다. 객체 / 프록시 / RPC 접근 방식은 이제 명시적인 서비스 경계 가있는 접근 방식보다 덜 선호됩니다 . Microsoft는 이제 원격 대신 WCF wiki , msdn을 권장 합니다.


의 또 다른 중요한 용도는 MarshalByRefObject원격 싱크 체인을 통해 AOP를 구현 하는 것입니다 .

당신은에서 파생 것을 객체가있는 경우 ContextBoundObject(자체에서 파생 MarshalByRefObject) 같은 응용 프로그램 도메인 내에서 별도의 컨텍스트에서 인스턴스화와 객체 간의 통신을 자동으로 Remoting에 프록시 시스템을 통해 갈 수 있습니다 - 당신은 리모팅 sink-에 사용자 지정 싱크를 연결 할 수 있도록 체인.

이를 통해 궁극적으로 객체에 대한 메서드 호출을 '장식'하고 로깅 및 보안 등과 같은 교차 절단 서비스를 구현할 수 있습니다.


기본 용도는 두 appdomain 사이의 개체 액세스를 지원하는 것이며 이러한 appdomain은 원격을 통해 동일한 컴퓨터 또는 다른 컴퓨터에있을 수 있습니다.

여기를 보아라


호출자 응용 프로그램의 응용 프로그램 도메인 외부에있는 모든 개체는 원격 개체로 간주되어야합니다. MarshalByRefObject 클래스에서 파생되어야하는 원격 개체입니다. 모든 개체는 MarshalByRefObject에서 파생하여 원격 개체로 변경할 수 있습니다. MarshalByRefObject에서 상속하지 않는 개체를 비 원격 개체라고합니다.

참고 URL : https://stackoverflow.com/questions/4295894/what-is-the-major-use-of-marshalbyrefobject

반응형