Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Depois de instalar os Pacotes cumulativos de segurança do .NET Framework de julho de 2018 que se aplicam ao .NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 e 4.7.2 no Windows 7 Service Pack 1 (SP1), Windows Server 2008 R2 SP1 ou Windows Server 2008 SP2, você percebe erros em aplicativos do .NET Framework que atendem aos seguintes critérios:

  • O aplicativo usa instâncias da classe System.Transaction.TransactionScope em que o fluxo de transações está habilitado, transmitindo TransactionScopeAsyncFlowOption.Enabled ao construtor.

  • O aplicativo faz uma ou mais chamadas remotas enquanto um desses escopos de transação está ativo. Nesse caso, uma chamada remota é qualquer chamada que viaja através de um proxy transparente antes de chegar ao objeto de servidor. Chamadas para outros domínios de aplicativo e chamadas feitas através de canais de comunicação remota, como os canais de comunicação remota, como os canais de cliente definidos nos namespaces System.Runtime.Remoting.Channels.

  • Após a chamada remota, System.Transactions.Transaction.Current retorna um valor nulo em vez do valor que foi retornado antes da chamada remota.

Solução alternativa

Para contornar esse problema, tente um dos seguintes métodos:

  • Para cada escopo de transação que permite o fluxo de transações, altere o aplicativo para certificar-se de que nenhuma chamada remota ocorra em qualquer lugar no código que é executado enquanto o escopo da transação está ativo. Ao determinar se um escopo de transação contém chamadas remotas, considere as seguintes diretrizes:

    • Uma chamada para um método estático nunca é uma chamada remota.

    • Para uma chamada para um método de instância em um objeto de destino, a chamada será remota somente se o objeto de destino for um proxy transparente.

    • Para uma chamada para um construtor, a chamada será remota somente se o objeto construído for um proxy transparente.

    Observação Você sempre pode usar o método System.Runtime.Remoting.RemotingServices.IsTransparentProxy para verificar se um objeto é um proxy transparente.

  • Desabilite o fluxo de transações removendo o argumento do construtor TransactionScopeAsyncFlowOption.Enabled

    Aviso

    Essa solução alternativa provavelmente causará outros erros se qualquer operação para "aguardar" for executada enquanto o escopo da transação estiver ativo.

  • A propriedade Transaction.Current não é serializada automaticamente para a chamada remota. Ela deve ser passada como um parâmetro. Se a chamada remota não passar a transação como um parâmetro e não fizer um retorno de chamada para o cliente durante a chamada remota, você poderá criar a chamada remota dentro de um novo objeto TransactionScope que use a opção TransactionScopeOptions.Suppress. Dentro desse escopo de transação de supressão, a propriedade Transaction.Current tem um valor nulo.

Status

Estamos cientes desse problema e estamos trabalhando atualmente em uma resolução.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×