Async.AsBeginEnd<'Arg,'T> — Metoda (F#)

Tworzy trzy funkcje używane do wdrożenia.NET Framework asynchronicznego programowania modelu (APM) dla dostarczonego obliczeń asynchronicznego.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Control

Zestaw: FSharp.Core (w FSharp.Core.dll)

// Signature:
static member AsBeginEnd : ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit)

// Usage:
Async.AsBeginEnd (computation)

Parametry

  • computation
    Type: 'Arg ->Async<'T>

    Funkcja, która generuje asynchronicznego obliczeń, aby podzielić na tradycyjnych.NET Framework asynchronicznego programowania modelu.

Wartość zwracana

Krotka rozpoczęcia, zakończenia i Anuluj członków.

Uwagi

Aby uzyskać więcej informacji o.NET Framework asynchronicznego programowania modelu, zobacz Model programowania asynchronicznego (APM).

Rozpoczęcia, zakończenia i Anuluj funkcje normalnie powinny być publikowane jako członków, które są prefiksem Begin, End, i Cancel, i które mogą być używane w definicji typu następująco.

 let beginAction,endAction,cancelAction =
     Async.AsBeginEnd (fun arg -> computation)
 member x.BeginSomeOperation(arg, callback ,state:obj) =
     beginAction(arg, callback, state)
 member x.EndSomeOperation(iar) = endAction(iar)
 member x.CancelSomeOperation(iar) = cancelAction(iar)

Jeśli obliczenia asynchroniczne nie przyjmuje żadnych argumentów AsBeginEnd jest używany następujący.

 let beginAction,endAction,cancelAction =
     Async.AsBeginEnd (fun () -> computation)
 member x.BeginSomeOperation(callback, state:obj) =
     beginAction((), callback, state)
 member x.EndSomeOperation(iar) = endAction(iar)
 member x.CancelSomeOperation(iar) = cancelAction(iar)

Jeśli asynchronicznego obliczeń ma dwa argumenty, AsBeginEnd jest używany następujący.

 let beginAction,endAction,cancelAction =
     Async.AsBeginEnd (fun arg1 arg2 -> computation)
 member x.BeginSomeOperation(arg1, arg2, callback, state:obj) =
     beginAction((), callback, state)
 member x.EndSomeOperation(iar) = endAction(iar)
 member x.CancelSomeOperation(iar) = cancelAction(iar)

W każdym przypadku wynikowy interfejs API przypomina używane w innych językach,.NET Framework i jest przydatny sposób publikowania asynchronicznego obliczenia w składniki, które mają być używane z innych języków.NET Framework.

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Control.Async — Klasa (F#)

Microsoft.FSharp.Control — Przestrzeń nazw (F#)

AsyncCallback

IAsyncResult