Compartir a través de


Ámbito de publicación

Los distintos sistemas de interacción remota tienen distintas formas de decidir qué miembros y qué tipo de miembros se pueden utilizar de forma remota. .NET remoting expone objetos a otros dominios de aplicación como si fueran locales, con las siguientes excepciones:

  • Miembros estáticos.

    Los métodos y campos estáticos no se pueden usar nunca de forma remota y el acceso a estos campos se produce mediante acceso directo a la memoria. Es decir, .NET remoting siempre trabaja con miembros de instancias del tipo que sea.

  • Campos de instancias y descriptores de acceso.

    Para los campos de instancias y métodos descriptores de acceso, el sistema inserta una comprobación en tiempo de ejecución para determinar si el objeto es un proxy. Si no lo es, el acceso al campo es directo. En caso contrario, el proxy proporciona al llamador descriptores de acceso.

  • Métodos privados.

    Los métodos privados no se pueden usar de forma remota. No puede englobar y pasar un delegado a un método privado de forma remota.

  • Delegados.

    Los delegados son objetos de cálculo de referencias por valor. El objeto que contiene el delegado puede ser cualquier tipo de objeto utilizable de forma remota: un objeto serializable, un objeto MarshalByRefObject o un objeto ContextBoundObject. La única excepción es el caso en que no se puede utilizar correctamente de manera remota un delegado de un método de interfaz. El delegado ajustará la implementación del método de interfaz, requiriendo que la información de tipo del cliente esté disponible para el servidor.

  • Reemplazar métodos en Object.

    Por motivos de rendimiento, los métodos virtuales en métodos Object siempre se ejecutan localmente en el dominio de aplicación desde donde se les llama. Las llamadas a cualquiera de los métodos siguientes sólo irán al objeto remoto después de haberlos reemplazado en el objeto remoto:

    • Equals

      Este método virtual se ejecuta de forma remota si es reemplazado.

    • GetHashCode

      Este método se ejecuta localmente.

    • ToString

      Este método virtual se ejecuta de forma remota si es reemplazado.

    • Equals (la versión estática)

      Este método se ejecuta localmente.

    • MemberwiseClone

      Este método se ejecuta localmente.

Vea también

Objetos utilizables y no utilizables de forma remota | MarshalByRefObject | ContextBoundObject | Object