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