Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad ComContractElement.UserDefinedTypes

 

Obtiene una colección de tipos definidos por el usuario (UDT) que se va a incluir en el contrato del servicio. Esta clase no puede heredarse.

Espacio de nombres:   System.ServiceModel.Configuration
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)

[ConfigurationPropertyAttribute("userDefinedTypes")]
public ComUdtElementCollection UserDefinedTypes { get; }

Valor de propiedad

Type: System.ServiceModel.Configuration.ComUdtElementCollection

La colección de tipos definidos de usuario (UDT).

El tiempo de ejecución de integración de COM+ crea los servicios mediante la inspección de la biblioteca de tipos. Cuando un componente de COM+ contiene métodos que pasan una VARIANTE, el sistema no puede determinar los tipos reales que se van a pasar antes del tiempo de ejecución. Por consiguiente, al intentar pasar un tipo definido por el usuario dentro de una VARIANTE , se produce un error porque no es un tipo conocido para la serialización.

Para prevenir este problema, puede agregar los UDT al archivo de configuración para que puedan estar incluidos como tipos conocidos en el contrato del servicio adecuado. Para ello, tiene que identificar de manera unívoca el UDT y los contratos, es decir, las interfaces COM originales que lo utilizan.

El ejemplo siguiente muestra la adición de dos UDT concretos a la sección <userDefinedTypes> del archivo de configuración para este propósito.

Los atributos de la <userDefinedType> elemento se definen como sigue:

  • typeName: un atributo opcional que proporciona el nombre de tipo legible. El tiempo de ejecución no lo usa, pero ayuda a que un lector distinga los tipos.

  • typeLibID: una cadena GUID que especifica la biblioteca de tipos registrados que define el tipo.

  • typeLibVersion: una cadena que especifica la versión de la biblioteca de tipos que define el tipo.

  • typeDefID: una cadena GUID que especifica el tipo UDT concreto dentro de la biblioteca de tipos registrados.

Cuando se inicializa el servicio, el tiempo de ejecución de integración busca los tipos especificados y los agrega a la colección de tipos conocidos para los contratos especificados.

.NET Framework
Disponible desde 3.0
Volver al principio
Mostrar: