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 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.Async (F#)

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