JoinableTaskFactory.DisableProcessing Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Impedisce l'esecuzione delle pompe di messaggi filtrate durante le attese sincrone per l'ambiente JoinableTask.
public Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation DisableProcessing();
member this.DisableProcessing : unit -> Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation
Public Function DisableProcessing () As JoinableTaskFactory.ProcessingDisabledOperation
Valori restituiti
Valore che può essere eliminato quando viene terminata la necessità di eliminare le pompe di messaggi di attesa sincrone. In alternativa, può essere rimosso se il resto di è destinato a disabilitare l'elaborazione JoinableTask .
Eccezioni
Generata quando viene chiamato all'esterno del contesto di un oggetto JoinableTask.
Esempio
Ecco un semplice utilizzo comune di questo metodo:
Di seguito sono riportati altri esempi di come può essere usato:
Commenti
Durante una resa await all'interno di , JoinableTasknon viene mai eseguita alcuna pompa di messaggi indipendentemente dal fatto che questo metodo venga chiamato, ad eccezione di quello interno che consente solo il lavoro pertinente. Quando il codice utente viene eseguito all'interno del JoinableTask delegato o dei relativi chiamato che finisce per richiedere un blocco sincrono del thread principale (ad esempio, conflitti di I/O sincrono o blocchi), questa attesa viene in genere implementata chiamando Wait(IntPtr[], Boolean, Int32) su Current. L'implementazione predefinita di questo metodo consente determinate interruzioni (e.g. COM chiamate RPC), che possono evitare deadlock in determinate situazioni.
La chiamata a questo metodo sostituirà l'implementazione predefinita di Wait(IntPtr[], Boolean, Int32) con una che non consentirà tali interruzioni mentre JoinableTask è attiva e nel controllo di Current. Poiché questo metodo può essere chiamato più volte, questo effetto rimane sulla destinazione JoinableTask fino a quando non vengono eliminati tutti i DisableProcessing() valori restituiti delle chiamate (in qualsiasi ordine). L'effetto si applica solo all'oggetto diretto JoinableTask. Non influisce sui figli o sui genitori.
La disabilitazione dell'elaborazione non ha alcun effetto sui sistemi operativi non Windows.
Se si elimina il valore risultante, verrà ripristinato il comportamento predefinito. I chiamanti non devono mai eliminare questo valore se la finalità consiste nel disabilitare l'elaborazione per il resto dell'esecuzione di tale JoinableTaskvalore.