Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe ServiceBehaviorAttribute

 

Especifica o comportamento de execução interna de uma implementação de contrato de serviço.

Namespace:   System.ServiceModel
Assembly:  System.ServiceModel (em System.ServiceModel.dll)

System.Object
  System.Attribute
    System.ServiceModel.ServiceBehaviorAttribute

[AttributeUsageAttribute(AttributeTargets.Class)]
public sealed class ServiceBehaviorAttribute : Attribute, IServiceBehavior

NomeDescrição
System_CAPS_pubmethodServiceBehaviorAttribute()

Inicializa uma nova instância da classe ServiceBehaviorAttribute.

NomeDescrição
System_CAPS_pubpropertyAddressFilterMode

Obtém ou define o AddressFilterMode usado pelo dispatcher para encaminhar mensagens de entrada ao ponto de extremidade correto.

System_CAPS_pubpropertyAutomaticSessionShutdown

Especifica se deve fechar automaticamente uma sessão quando um cliente fechar uma sessão de saída.

System_CAPS_pubpropertyConcurrencyMode

Obtém ou define se um serviço dá suporte a um thread, vários threads ou chamadas reentrantes.

System_CAPS_pubpropertyConfigurationName

Obtém ou define o valor usado para localizar o elemento de serviço em um arquivo de configuração do aplicativo.

System_CAPS_pubpropertyEnsureOrderedDispatch

Obtém ou define um valor que indica se o serviço ordenados expedição é garantido.

System_CAPS_pubpropertyIgnoreExtensionDataObject

Obtém ou define um valor que especifica se dados de serialização desconhecidos serão enviados na conexão.

System_CAPS_pubpropertyIncludeExceptionDetailInFaults

Obtém ou define um valor que especifica que as exceções de execução gerais sem tratamento devem ser convertidas em um System.ServiceModel.FaultException<TDetail> do tipo System.ServiceModel.ExceptionDetail e enviadas como uma mensagem de falha. Defina-o como true somente durante o desenvolvimento para solucionar problemas de um serviço.

System_CAPS_pubpropertyInstanceContextMode

Obtém ou define o valor que indica quando novos objetos de serviço são criados.

System_CAPS_pubpropertyMaxItemsInObjectGraph

Obtém ou define o número máximo de itens permitidos em um objeto serializado.

System_CAPS_pubpropertyName

Obtém ou define o valor do atributo name no elemento de serviço em serviços descrição linguagem WSDL (Web).

System_CAPS_pubpropertyNamespace

Obtém ou define o valor do namespace de destino para o serviço em serviços descrição linguagem WSDL (Web).

System_CAPS_pubpropertyReleaseServiceInstanceOnTransactionComplete

Obtém ou define um valor que especifica se o objeto de serviço será liberado quando a transação atual for concluída.

System_CAPS_pubpropertyTransactionAutoCompleteOnSessionClose

Obtém ou define um valor que especifica se as transações pendentes a é concluída quando a sessão atual é fechada sem erro.

System_CAPS_pubpropertyTransactionIsolationLevel

Especifica o nível de isolamento da transação para novas transações criadas dentro do serviço e fluxo de transações de entrada de um cliente.

System_CAPS_pubpropertyTransactionTimeout

Obtém ou define o período dentro do qual uma transação deve ser concluída.

System_CAPS_pubpropertyTypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.(Herdado de Attribute.)

System_CAPS_pubpropertyUseSynchronizationContext

Obtém ou define um valor que especifica se o contexto de sincronização atual deve ser usado para escolher o thread de execução.

System_CAPS_pubpropertyValidateMustUnderstand

Obtém ou define um valor que especifica se o sistema ou o aplicativo reforça SOAP MustUnderstand processamento do cabeçalho.

NomeDescrição
System_CAPS_pubmethodEquals(Object)

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Retorna um valor que indica se essa instância é igual a um objeto especificado.(Herdado de Attribute.)

System_CAPS_pubmethodGetHashCode()

Retorna o código hash para essa instância.(Herdado de Attribute.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodGetWellKnownSingleton()

Recupera um objeto que implementa o serviço e que é usado como a instância singleton do serviço, ou null se não houver nenhuma instância singleton.

System_CAPS_pubmethodIsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.(Herdado de Attribute.)

System_CAPS_pubmethodMatch(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.(Herdado de Attribute.)

System_CAPS_pubmethodSetWellKnownSingleton(Object)

Especifica um objeto que implementa o serviço e que é usado como a instância singleton do serviço.

System_CAPS_pubmethodShouldSerializeConfigurationName()

Retorna um valor que indica se o ConfigurationName propriedade foi alterada do seu valor padrão e deve ser serializada.

System_CAPS_pubmethodShouldSerializeReleaseServiceInstanceOnTransactionComplete()

Retorna um valor que indica se o ReleaseServiceInstanceOnTransactionComplete propriedade foi alterada do seu valor padrão e deve ser serializada.

System_CAPS_pubmethodShouldSerializeTransactionAutoCompleteOnSessionClose()

Retorna um valor que indica se o TransactionAutoCompleteOnSessionClose propriedade foi alterada do seu valor padrão e deve ser serializada.

System_CAPS_pubmethodShouldSerializeTransactionIsolationLevel()

Retorna um valor que indica se o TransactionIsolationLevel propriedade foi alterada do seu valor padrão e deve ser serializada.

System_CAPS_pubmethodShouldSerializeTransactionTimeout()

Retorna um valor que indica se o TransactionTimeout propriedade foi alterada do seu valor padrão e deve ser serializada.

System_CAPS_pubmethodToString()

Retorna uma cadeia de caracteres que representa o objeto atual.(Herdado de Object.)

NomeDescrição
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.(Herdado de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.(Herdado de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).(Herdado de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.(Herdado de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Passa os objetos de dados personalizados para as associações que oferecem suporte as propriedades de comportamento.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Personaliza o Runtime para oferecer suporte as propriedades de comportamento de serviço.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Confirma que a descrição do serviço e o host de serviço são capazes de suportar o comportamento.

Apply the T:System.ServiceModel.ServiceBehaviorAttribute attribute to a service implementation to specify service-wide execution behavior. (To specify execution behavior at the method level, use the T:System.ServiceModel.OperationBehaviorAttribute attribute.) This attribute can be applied only to service implementations. For working examples, see the Service Behaviors Samples.

ServiceBehaviorAttribute properties are a Windows Communication Foundation (WCF) programming model feature that enables common features that developers otherwise have to implement. For more information about these and other behaviors, see Especificando comportamento de tempo de execução de serviço. For more information about the underlying runtime properties that some of the following properties set, see Estendendo a camada de modelo de serviço e o ServiceHost.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.AddressFilterMode property specifies the type of filter that the dispatcher system uses to locate the endpoint that handles requests.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.AutomaticSessionShutdown property automatically closes the session when the channel is closed and the service has finished processing any remaining messages.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.ConcurrencyMode property controls the internal threading model, enabling support for reentrant or multithreaded services.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.ConfigurationName property is used to declare a name for use in the name attribute of the <service> element in a configuration file.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.IgnoreExtensionDataObject property enables the run time to ignore extra serialization information that is not required to process the message.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.IncludeExceptionDetailInFaults property specifies whether unhandled exceptions in a service are returned as SOAP faults. This is for debugging purposes only.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.InstanceContextMode property specifies whether and when services and their service objects are to be recycled during an exchange with a client.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.MaxItemsInObjectGraph property to limit on the number of items in an object graph that are serialized.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.Name and P:System.ServiceModel.ServiceBehaviorAttribute.Namespace properties control the name and namespace for the WSDL expression of the service element.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.ReleaseServiceInstanceOnTransactionComplete property specifies whether the service object is recycled when a transaction completes.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.TransactionAutoCompleteOnSessionClose property specifies whether outstanding transactions are completed when the session closes.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.TransactionIsolationLevel property specifies the transaction isolation level that the contract supports.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.TransactionTimeout property specifies the time period within which a transaction must complete or it aborts.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.UseSynchronizationContext property indicates whether to synchronize inbound method calls with the user interface thread automatically.

  • The P:System.ServiceModel.ServiceBehaviorAttribute.ValidateMustUnderstand property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.

The P:System.ServiceModel.ServiceBehaviorAttribute.IncludeExceptionDetailInFaults property can also be set using an application configuration file. For details, see P:System.ServiceModel.Description.ServiceDebugBehavior.IncludeExceptionDetailInFaults.

The following code example demonstrates the T:System.ServiceModel.ServiceBehaviorAttribute properties. The BehaviorService class uses the T:System.ServiceModel.ServiceBehaviorAttribute attribute to indicate that:

  • The service object is recycled when the transaction completes.

  • There is one service object for each session.

  • The service is single-threaded and does not support reentrant calls.

Furthermore, at the operation level, the T:System.ServiceModel.OperationBehaviorAttribute values indicate that the TxWork method automatically enlists in flowed transactions or creates a new transaction to do the work, and that the transaction is committed automatically if an unhandled exception does not occur.

using System;
using System.ServiceModel;
using System.Transactions;

namespace Microsoft.WCF.Documentation
{
  [ServiceContract(
    Namespace="http://microsoft.wcf.documentation", 
    SessionMode=SessionMode.Required
  )]
  public interface IBehaviorService
  {
    [OperationContract]
    string TxWork(string message);
  }

  // Note: To use the TransactionIsolationLevel property, you 
  // must add a reference to the System.Transactions.dll assembly.
  /* The following service implementation:
   *   -- Processes messages on one thread at a time
   *   -- Creates one service object per session
   *   -- Releases the service object when the transaction commits
   */
  [ServiceBehavior(
    ConcurrencyMode=ConcurrencyMode.Single,
    InstanceContextMode=InstanceContextMode.PerSession,
    ReleaseServiceInstanceOnTransactionComplete=true
  )]
  public class BehaviorService : IBehaviorService, IDisposable
  {
    Guid myID;

    public BehaviorService()
    {
      myID = Guid.NewGuid();
      Console.WriteLine(
        "Object "
        + myID.ToString()
        + " created.");
    }

    /*
     * The following operation-level behaviors are specified:
     *   -- The executing transaction is committed when
     *        the operation completes without an 
     *        unhandled exception
     *   -- Always executes under a flowed transaction.
     */
    [OperationBehavior(
      TransactionAutoComplete = true,
      TransactionScopeRequired = true
    )]
    [TransactionFlow(TransactionFlowOption.Mandatory)]
    public string TxWork(string message)
    {
      // Do some transactable work.
      Console.WriteLine("TxWork called with: " + message);
      // Display transaction information.

      TransactionInformation info = Transaction.Current.TransactionInformation;
      Console.WriteLine("The distributed tx ID: {0}.", info.DistributedIdentifier);
      Console.WriteLine("The tx status: {0}.", info.Status);
      return String.Format("Hello. This was object {0}.",myID.ToString()) ;
    }

    public void Dispose()
    {
      Console.WriteLine(
        "Service "
        + myID.ToString()
        + " is being recycled."
      );
    }
  }
}

The underlying binding must support flowed transactions for the following code example to execute properly. To support flowed transactions using the T:System.ServiceModel.WSHttpBinding, for example, set the P:System.ServiceModel.WSHttpBindingBase.TransactionFlow property to true in code or in an application configuration file. The following code example shows the configuration file for the preceding sample.

.NET Framework
Disponível desde 3.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: