Compartilhar via


Async.AsBeginEnd <'Arg, T' > Método (F#)

Cria três funções que podem ser usadas para implementar o.NET Framework APM Asynchronous Programming Model () para a computação assíncrona fornecida.

Caminho do namespace/módulo: Microsoft.FSharp.Control

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

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

// Usage:
Async.AsBeginEnd (computation)

Parâmetros

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

    Uma função que gera a computação assíncrona para dividir em que a tradicional.NET Framework, o modelo de programação assíncrona.

Valor de retorno

Uma tupla de início, fim e Cancelar membros.

Comentários

Para obter mais informações sobre o.NET Framework modelo de programação assíncrona, consulte Visão geral de programação assíncrona.

O início, fim e Cancelar funções normalmente devem ser publicadas como membros são prefixados com Begin, End, e Cancel, e que pode ser usado dentro de uma definição de tipo como segue:

 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)

Se a computação assíncrona leva sem argumentos, AsBeginEnd é usado como segue:

 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)

Se a computação assíncrona leva dois argumentos, AsBeginEnd é usado como segue:

 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)

Em cada caso, a API resultante é semelhante que é usada em outras.NET de idiomas do Framework e é uma maneira útil de publicar as computações assíncronas em componentes que se destinam a ser usado em outro.Idiomas do NET Framework.

Plataformas

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

Informações sobre versão

O tempo de execução F#

Compatível com: 2.0, 4.0

Silverlight

Compatível com: 3

Consulte também

Referência

Classe Control.Async (F#)

Microsoft.FSharp.Control Namespace (F#)

AsyncCallback

IAsyncResult