Partager via


Async.FromBeginEnd<'Arg1,'Arg2,'T>, méthode (F#)

Crée un calcul asynchrone en termes de paire Begin/End d'actions dans le style utilisé dans les API CLI.

Espace de noms/Chemin du module : Microsoft.FSharp.Control

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

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

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

Paramètres

  • arg1
    Type : 'Arg1.

    Premier argument de l'opération.

  • arg2
    Type : 'Arg2.

    Deuxième argument de l'opération.

  • beginAction
    Type : 'Arg1 * 'Arg2 * AsyncCallback * obj -> IAsyncResult

    Fonction initiant une opération asynchrone CLI classique.

  • endAction
    Type : IAsyncResult -> 'T.

    Fonction effectuant une opération asynchrone CLI classique.

  • cancelAction
    Type : (unit -> unit)

    Fonction facultative à exécuter lors d'une demande d'annulation.

Valeur de retour

Calcul asynchrone incluant dans un wrapper les fonctions Begin/End données.

Notes

Cette surcharge doit être utilisée si l'opération est qualifiée par deux arguments. Par exemple, le code suivant crée un calcul asynchrone pour un appel de service Web.

Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather)

Lorsque le calcul est exécuté, beginFunc est exécuté, avec un rappel qui représente la continuation du calcul. Lorsque le rappel est appelé, le résultat global est extrait en utilisant endFunc.

Le calcul répondra à l'annulation lors de l'attente de la fin de l'opération. En cas d'annulation et si cancelAction est spécifié, il est exécuté et le calcul continue d'attendre la fin de l'opération. Si cancelAction n'est pas spécifié, l'annulation provoque l'arrêt immédiat du calcul et les appels suivants du rappel sont ignorés.

Pour obtenir un exemple, consultez Async.FromBeginEnd<'T> Method (F#).

Plateformes

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

Informations de version

Runtime F#

Pris en charge dans : 2.0, 4.0

Silverlight

Prise en charge dans : 3

Voir aussi

Référence

Control.Async, classe (F#)

Microsoft.FSharp.Control, espace de noms (F#)