Sdílet prostřednictvím


Async.AsBeginEnd < "Arg, t > Metoda (F#)

Vytvoří tři funkce, které lze použít k implementaci rozhraní.NET Framework asynchronní programovací Model (APM) pro zadaný asynchronní výpočtu.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Control

Sestavení: FSharp.Core (v 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>

    Funkce, která vytváří asynchronní výpočtu rozdělit na tradiční rozhraní.NET Framework asynchronní programovacího modelu.

Vrácená hodnota

N-tice zahájit, ukončit a zrušit členů.

Poznámky

Další informace o rozhraní.NET Framework asynchronní programovací Model, viz Asynchronní Model programování (APM).

Začátek, konec a funkce Storno by normálně publikován jako členy, které jsou s předponou Begin, End, a Cancel, a který může být použit v definici typu takto.

 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)

Pokud výpočet asynchronní nevyžaduje žádné argumenty AsBeginEnd se používá následujícím způsobem.

 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)

Asynchronní výpočet trvá dva argumenty AsBeginEnd se používá následujícím způsobem.

 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)

V každém případě výsledné API podobá se používá v jiných jazycích rozhraní.NET Framework a je užitečné publikovat asynchronní výpočty v součásti, které jsou určeny k použití jiných jazyků rozhraní.NET Framework.

Platformy

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

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Třída Control.Async (F#)

Obor názvů Microsoft.FSharp.Control (F#)

AsyncCallback

IAsyncResult