Condividi tramite


Metodo Async.FromBeginEnd<'Arg1,'T> (F#)

Crea un calcolo asincrono in termini di coppia di azioni Begin/End nello stile utilizzato nelle API CLI.

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

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

// Signature:
static member FromBeginEnd : 'Arg1 * ('Arg1 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>

// Usage:
Async.FromBeginEnd (arg, beginAction, endAction)
Async.FromBeginEnd (arg, beginAction, endAction, cancelAction = cancelAction)

Parametri

  • arg
    Tipo: 'Arg1

    Argomento per l'operazione.

  • beginAction
    Tipo: 'Arg1 * AsyncCallback * obj -> IAsyncResult

    Funzione che inizia un'operazione asincrona CLI tradizionale.

  • endAction
    Tipo: IAsyncResult -> 'T

    Funzione che completa un'operazione asincrona CLI tradizionale.

  • cancelAction
    Tipo: (unit -> unit)

    Funzione facoltativa da eseguire quando viene richiesto un anNullamento.

Valore restituito

Calcolo asincrono che esegue il wrapping delle funzioni Begin/End specificate.

Note

Questo overload deve essere utilizzato se l'operazione viene qualificata da un argomento.Ad esempio, è possibile creare un calcolo asincrono per una chiamata al servizio Web con il seguente codice.

Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)

In fase di esecuzione del calcolo, beginFunc viene eseguito con un callback che rappresenta la continuazione del calcolo.Quando il callback viene richiamato, il risultato complessivo viene recuperato tramite endFunc.

Il calcolo risponderà alla richiesta di anNullamento durante l'attesa per il completamento dell'operazione.Se si verifica un annullamento ed è stato specificato cancelAction, tale azione verrà eseguita e il calcolo continuerà ad attendere il completamento dell'operazione.Se cancelAction non è stato specificato, l'annullamento determinerà l'arresto immediato del calcolo e le chiamate successive del callback verranno ignorate.

Per un esempio, vedere il metodo Async.FromBeginEnd<'T> Method (F#).

Piattaforme

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informazioni sulla versione

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Vedere anche

Riferimenti

Classe Control.Async (F#)

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