O elemento system.transactions


Quando utilizamos a API System.Transactions para a criação e gerenciamento de transações, algumas configurações estão acessíveis de forma declarativa. O elemento em questão, tema deste post, é o system.transactions, que permite através de dois sub-elmentos, efetuar tais configurações.

O primeiro destes sub-elementos é representando pela classe DefaultSettingsSection. A propriedade Timeout possibilita especificarmos um TimeSpan, com o valor padrão de timeout que será utilizado por todas as transações daquela aplicação. Caso voce especifique o timeout diferente para o TransactionScope, este sobrescreverá a valor do arquivo de configuração. Outra propriedade exposta por essa classe é a DistributedTransactionManagerName. Essa propriedade recebe uma string contendo o nome do gerenciador de transações (MSDTC). Quando não especificado (que é o padrão), ele assumirá o nome do gerenciador da máquina local, onde a aplicação está sendo executada. Voce pode definir nesta propriedade o nome de uma máquina remota e, com isso, o gerenciador de transações desta será utilizada.

Já o outro sub-elemento, MachineSettingsSection, como o próprio nome diz, encapsula as configurações em nível de máquina e, justamente por isso, pode somente ser definida no arquivo machine.config. Basicamente ele define uma propriedade chamada MaxTimeout, também do tipo TimeSpan, definindo o valor máxima de timeout para uma transação.

<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
  <system.transactions>
    <defaultSettings timeout=”00:00:02″/>
    <machineSettings maxTimeout=”00:01:00″/> <!– somente no machine.config –>
  </system.transactions>
</configuration>

Publicidade

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s