Compartilhar via


<comContract>

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

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

Sintaxe

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

Attributes

Attribute Description
contrato Uma cadeia de caracteres que contém o tipo de contrato.
nome Uma cadeia de caracteres que contém o nome do contrato.
espaço para nome 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 com 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 das associações do contrato estiverem em conflito. Se essa propriedade estiver falsee um canal unidirecional estiver em uso e houver parâmetros [out], uma exceção também será gerada.

Elementos filho

Elemento Description
persistableTypes Todos os tipos persistentes.
userDefinedTypes Uma coleção de UDT (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 Description
ComContracts Contém uma coleção de comContract elementos.

Observações

Atualmente, os contratos de serviço de integração com+ estão restritos ao namespace e o http://tempuri.org nome do contrato é derivado da interface COM de suporte. No entanto, você pode especificar alternativas usando a comContracts seção, bem como o comContract elemento 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 é inicializado, os namespaces especificados e os nomes de contrato são aplicados às descrições de serviço geradas.

Consulte também