Linguagem

JoinableTaskFactory.DisableProcessing Método

Definição

Impede que as bombas de mensagem filtradas sejam executadas durante esperas síncronas para o ambiente JoinableTask.

public Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation DisableProcessing();
member this.DisableProcessing : unit -> Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation
Public Function DisableProcessing () As JoinableTaskFactory.ProcessingDisabledOperation

Retornos

Um valor que pode ser descartado quando a necessidade de suprimir bombas de mensagem de espera síncrona é encerrada. Como alternativa, ele poderá ser descartado se o restante da intenção for ter o JoinableTask processamento desabilitado.

Exceções

Gerado quando chamado fora do contexto de um JoinableTask.

Exemplos

Aqui está um uso simples e comum deste método:

A seguir estão mais exemplos de como ele pode ser usado:

Comentários

Durante um rendimento await dentro de uma JoinableTaskbomba de mensagem, nenhuma bomba de mensagem será executada independentemente de esse método ser chamado, exceto pelo interno que permite apenas o trabalho relevante. Quando o código do usuário é executado dentro do JoinableTask delegado ou de seus callees que acaba exigindo um bloco síncrono do thread principal (por exemplo, E/S síncrona ou contenção de bloqueio), essa espera normalmente é implementada chamando Wait(IntPtr[], Boolean, Int32)Current. A implementação padrão desse método permite determinadas interrupções (e.g. COM chamadas RPC), o que pode evitar deadlocks em determinadas situações.

Chamar esse método substituirá a implementação padrão de Wait(IntPtr[], Boolean, Int32) um que não permitirá essas interrupções enquanto estiver JoinableTask ativo e no controle de Current. Como esse método pode ser chamado várias vezes, esse efeito permanece no destino JoinableTask até que todos os DisableProcessing() valores retornados de invocações sejam descartados (em qualquer ordem). O efeito só se aplica ao direto JoinableTask. Não afeta nenhum de seus filhos ou pais.

Desabilitar o processamento não tem efeito sobre sistemas operacionais não Windows.

Descartar o valor resultante será revertido para o comportamento padrão. Os chamadores não precisarão descartar esse valor se a intenção for desabilitar o processamento para o restante da JoinableTaskexecução.

Aplica-se a