Partilhar via


<comContract>

Especifica um contrato de serviço de integração COM+.

<configuração>
  <system.serviceModel>
    <comContracts>
      <comContract>

Syntax

<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 e Elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Atributo Descrição
contrato Uma cadeia que contém o tipo de contrato.
name Uma cadeia que contém o nome do contrato.
espaço de nomes Uma cadeia que contém o espaço de nomes do contrato.
requiresSession Um valor booleano que especifica se o contrato só pode ser utilizado em enlaces com sessão. Quando o serviço é inicializado, o runtime de integração garante que esta definição é consistente com o tipo de enlace a ser utilizado. É gerada uma exceção se um ou mais dos enlaces do contrato estiverem em conflito. Se esta propriedade for false, e um canal unidirecional estiver a ser utilizado e existirem parâmetros [out], também é gerada uma exceção.

Elementos Subordinados

Elemento Descrição
persistableTypes Todos os tipos persistentes.
userDefinedTypes Uma coleção de Tipos Definidos pelo Utilizador (UDT) que deve ser incluída no contrato de serviço.
exposedMethods Uma coleção de métodos COM+ que são expostos quando a interface num componente COM+ é exposta como um serviço Web.

Elementos Principais

Elemento Descrição
comContracts Contém uma coleção de comContract elementos.

Observações

Os contratos do serviço de integração COM+ estão atualmente restritos ao espaço de nomes e o http://tempuri.org nome do contrato é derivado da interface COM de suporte. No entanto, pode especificar alternativas ao utilizar a comContracts secção, bem como o comContract elemento no ficheiro de configuração. Por exemplo, pode utilizar a seguinte configuração para especificar o espaço de nomes, o nome do contrato e os tipos definidos pelo utilizador a serem incluídos, bem como outras definições para um contrato de serviço.

<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>

Quando o serviço é inicializado, os espaços de nomes especificados e os nomes dos contratos são aplicados às descrições de serviço geradas.

Ver também