Compartilhar via


<comContract>

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

<configuration>
  <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 seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
contrato Uma cadeia de caracteres que contém o tipo de contrato.
name Uma cadeia de caracteres que contém o nome do contrato.
namespace Uma cadeia de caracteres que contém o namespace do contrato.
requiresSession Um valor booliano que especifica se o contrato só pode ser usado em associações de sessão. Quando o serviço é inicializado, o runtime de integração garante que essa configuração seja consistente com o tipo de associação a ser usada. Uma exceção será gerada se uma ou mais associações do contrato estiverem em conflito. Se essa propriedade for false, um canal unidirecional estiver em uso e houver parâmetros [out], uma exceção também será gerada.

Elementos filho

Elemento Descrição
persistableTypes Todos os tipos persistentes.
userDefinedTypes Uma coleção de UDTs (tipos definidos pelo usuário) 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 em um componente COM+ é exposta como um serviço Web.

Elementos pai

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

Comentários

No momento, os contratos de serviço de integração COM+ são restritos ao namespace http://tempuri.org e o nome do contrato é derivado da interface COM de suporte. No entanto, é possível especificar alternativas usando a seção comContracts, bem como o elemento comContract, no arquivo de configuração. Por exemplo, você pode usar a configuração a seguir para especificar o namespace, o nome do contrato e os tipos definidos pelo usuário a serem incluídos, bem como outras configuraçõ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 for inicializado, os namespaces e nomes de contrato especificados serão aplicados às descrições de serviço geradas.

Confira também