<comContract>

Especifica un contrato de servicio de integración de COM+.

<configuration>
  <system.serviceModel>
    <comContracts>
      <comContract>

Sintaxis

<comContracts>
  <comContract contract="String"
               namespace="String"
               name="String"
               requireSession="Boolean">
    <exposedMethods>
      <exposedMethod name="String" />
    </exposedMethods>
    <userDefinedTypes>
      <userDefinedType name="String"
                       typeLibID="String"
                       typeLibVersion="String"
                       typeDefID="String">
      </userDefinedType>
    </userDefinedTypes>
    <persistableTypes>
      <persistableType id="String"
                       name="String">
      </persistableType>
    </persistableTypes>
  </comContract>
</comContracts>

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
contrato Una cadena que contiene el tipo de contrato.
name Una cadena que contiene el nombre del contrato.
espacio de nombres Una cadena que contiene el espacio de nombres del contrato.
requiresSession Un valor booleano que especifica si el contrato sólo se puede utilizar en enlaces con canal. Cuando se inicializa el servicio, el tiempo de ejecución de integración garantiza que este valor es coherente con el tipo de enlace que se va a usar. Se genera una excepción si uno o más de los enlaces para el contrato están en conflicto. Si esta propiedad es false, y un canal unidireccional está en uso y hay parámetros [fuera], también se genera una excepción.

Elementos secundarios

Elemento Descripción
persistableTypes Todos los tipos con persistencia.
userDefinedTypes Una colección de tipos definidos por el usuario (UDT) que se va a incluir en el contrato del servicio.
exposedMethods Una colección de métodos COM+ que se exponen cuando la interfaz en un componente de COM+ se expone como un servicio Web.

Elementos primarios

Elemento Descripción
comContracts Contiene una colección de elementos comContract.

Comentarios

Los contratos de servicio de integración de COM+ están restringidos actualmente al espacio de nombres http://tempuri.org y el nombre del contrato se deriva de la interfaz COM de apoyo. Puede, sin embargo, especificar las alternativas utilizando la sección comContracts, así como el elemento comContract en el archivo de configuración. Por ejemplo, puede utilizar la configuración siguiente para especificar el espacio de nombres, el nombre del contrato y los tipos definidos por el usuario que se van incluir, así como otros valores para un contrato de servicios.

<comContracts>
  <comContract contract="{5163B1E7-F0CF-4B6A-9A02-4AB654F34284}"
               namespace="http://tempuri.org/5163B1E7-F0CF-4B6A-9A02-4AB654F34284"
               name="_Broker"
               requireSession="true">
    <exposedMethods>
      <exposedMethod name="BuyStock" />
      <exposedMethod name="SellStock" />
      <exposedMethod name="ExecuteTransaction" />
    </exposedMethods>
  </comContract>
</comContracts>

Cuando se inicializa el servicio, los espacios de nombres y nombres del contrato especificados se aplican a las descripciones de servicio generadas.

Consulte también