Condividi tramite


Metodo AsyncBuilder.TryFinally<'T> (F#)

Implementa try...finally nei calcoli asincroni.

Percorso di spazio dei nomi/modulo: Microsoft.FSharp.Control

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
member this.TryFinally : Async<'T> * (unit -> unit) -> Async<'T>

// Usage:
asyncBuilder.TryFinally (computation, compensation)

Parametri

  • computation
    Tipo: Async<'T>

    Calcolo di input.

  • compensation
    Tipo: unit -> unit

    L'azione da eseguire dopo il completamento di computation o la generazione di un'eccezione (annullamento incluso).

Valore restituito

Calcolo asincrono che esegue un calcolo e un'azione di compensazione al completamento del calcolo o in caso di eccezione.

Note

Crea un calcolo asincrono che esegue computation. L'azione compensation viene eseguita al termine dell'elemento computation, indipendentemente dal fatto che computation sia stato eseguito in condizioni normali o a causa di un'eccezione. Se l'elemento compensation stesso genera un'eccezione, l'eccezione originale verrà ignorata e la nuova eccezione diverrà il risultato complessivo del calcolo.

Se viene eseguito il calcolo, viene effettuato un controllo di annullamento. L'esistenza di questo metodo consente l'utilizzo di try...finally nella sintassi dell'espressione di calcolo async { ... }.

Piattaforme

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Informazioni sulla versione

F# Runtime

Supportato in: 2.0, 4.0

Silverlight

Supportato in: 3

Vedere anche

Riferimenti

Classe Control.AsyncBuilder (F#)

Spazio dei nomi Microsoft.FSharp.Control (F#)