Cálculo de referencias personalizado
Un contador de referencias proporciona esencialmente un puente entre las funciones de las interfaces antiguas y nuevas. El cálculo de referencias personalizado permite a los clientes designados por el usuario funcionar con una interfaz antigua y funcionar también con servidores que sólo implementan una interfaz nueva. El cálculo de referencias personalizado también permite a los clientes compilados para funcionar con una interfaz nueva funcionar con servidores que exponen la interfaz antigua.
En lugar de usar el contador de referencias de interoperabilidad, se puede diseñar uno personalizado para una interfaz que presente un comportamiento de cálculo de referencias diferente o exponga la interfaz al Modelo de objetos componentes (COM) de otra manera. Usando un contador de referencias personalizado se puede minimizar la distinción entre los componentes .NET Framework nuevos y los componentes COM existentes.
Por ejemplo, suponga que se está programando una interfaz administrada denominada INew. Cuando se exponga esta interfaz a COM mediante un contenedor CCW estándar, tiene los mismos métodos que la interfaz administrada y usa las reglas de cálculo de referencias integradas en el contador de referencias de interoperabilidad. Suponga ahora que una interfaz COM conocida denominada IOld ya proporciona la misma funcionalidad que la interfaz INew. Si se incluye un contador de referencias personalizado, se puede proporcionar una implementación no administrada de IOld que simplemente delega las llamadas en la implementación administrada de la interfaz INew. En esencia, el contador de referencias actúa como un puente entre las interfaces administrada y no administrada.
Tenga en cuenta que los contadores de referencias personalizados no se invocan cuando se llama del lado administrado al no administrado de una interfaz de solo envío.
Temas relacionados
Título |
Descripción |
---|---|
Describe cómo preparar las interfaces que intervienen en la configuración de un contador de referencias personalizado. |
|
Describe las opciones existentes en la preparación de un contador de referencias personalizado. |
|
Describe cómo utilizar el atributo MarshalAsAttribute para insertar un contador de referencias personalizado. |
|
Describe el cálculo de referencias de datos para la interoperabilidad COM y la invocación de plataformas. |