¿Cuál es el propósito de MarshalByRefObject?¿Cuál es el uso principal de MarshalByRefObject?
Respuesta
Remoting; significa que entre AppDomains o máquinas, en lugar de serializar y transferir el objeto , el objeto permanece en un extremo y se crea un proxy en el otro. Todas las llamadas al proxy se interceptan y la llamada se transmite como RPC wiki, msdn, haciendo que el método se ejecute en la otra máquina (normalmente serializando los argumentos y el valor devuelto).
Nota: esto puede provocar interfaces inesperadamente "parlanchinas". El enfoque objeto/proxy/RPC es ahora menos preferible a los enfoques con un límite de servicio explícito; Microsoft ahora recomienda WCF wiki, msdn en lugar de comunicación remota.
que el uso básico es para apoyar el acceso de objetos entre dos dominios de aplicación y estos dominios de aplicación pueden estar en el mismo equipo o en los diferentes ordenadores a través de la interacción remota.
Otro uso importante de MarshalByRefObject
es para la implementación de AOP a través de interacción remota fregadero cadenas.
Si usted tiene un objeto que se deriva de ContextBoundObject
(que a su vez deriva de MarshalByRefObject
) se puede crear una instancia en un contexto independiente dentro del mismo dominio de aplicación y tienen las comunicaciones entre los objetos pasan automáticamente a través del sistema de comunicación remota de proxy - que le permite conectar personalizada se hunde en la cadena de fregaderos de Remoting.
En última instancia, le permite 'decorar' método llama a los objetos e implementar servicios transversales, tales como la tala y la seguridad, etc.
Cualquier objeto fuera del dominio de la aplicación de la solicitud de la persona que llama debe ser considerado como remoto Objeto. Un objeto remoto que debe derivarse de MarshalByRefObject Class. Cualquier objeto se puede cambiar a un objeto remoto derivandolo de MarshalByRefObject. Los objetos sin heredar de MarshalByRefObject se llaman objetos no controlables.
- 1. ¿Cuál es el uso principal de NSAssert Vs. NSException
- 2. ¿Es especial MarshalByRefObject?
- 3. mezcla MarshalByRefObject y serializables
- 4. ¿cuál es el uso básico de alignment_storage?
- 5. ¿Cuál es el uso de singletonList?
- 6. ¿Cuál es el uso de window.external?
- 7. ¿Cuál es el uso previsto de IllegalStateException?
- 8. ¿Cuál es el uso correcto de DataContext.Refresh()?
- 9. ¿Cuál es el uso de @SuppressWarnings
- 10. ¿Cuál es el uso de autómatas finitos?
- 11. ¿Cuál es el uso correcto de EnsureChildControls()?
- 12. ¿Cuál es el uso de la sintaxis = =?
- 13. ¿Cuál es el uso de Log4j API?
- 14. ¿Cuál es el uso de LOCAL_MODULE_TAGS?
- 15. ¿Cuál es el uso de AtomicReferenceArray?
- 16. ¿Cuál es el uso de typedef?
- 17. ¿Cuál es el uso de "indulgente"?
- 18. ¿Cuál es el uso de - [NSUserDefaults registerDefaults:]?
- 19. ¿cuál es el uso de string.Clone()?
- 20. ¿Cuál es el uso de Deployment.Current.Dispatcher.BeginInvoke (() => {...})?
- 21. ¿Cuál es el uso de Indexers?
- 22. ¿Cuál es el uso del uso de init() en JavaScript?
- 23. Javassist. ¿Cuál es la idea principal y dónde el uso real?
- 24. ¿Cuál es el uso de múltiples métodos principales?
- 25. ¿Cuál es el principal beneficio de usar HashMap en Java?
- 26. ¿Cuál es el propósito del uso?
- 27. CGRectIntegral ¿cuál es su uso?
- 28. ¿Cuál es la razón principal para usar Mongoose ORM?
- 29. ¿cuál es el uso de indicadores de función?
- 30. ¿Cuál es el uso de un objeto de unión constante?
... como si el WCF era menos hinchada ... –
@pavel - es bastante compleja, pero al menos nos clara donde las llamadas son caros. Si se refiere a * ancho de banda *, hay formas de mitigar eso. –
A veces no * quiere * límites explícitos, como en los escenarios enumerados para https://processdomain.codeplex.com/ En su lugar, desea transparencia. –