Async.AsBeginEnd <'Arg, T' > Método (F#)
Cria três funções que podem ser usadas para implementar o modelo de programação assíncrona (APM) do .NET Framework para a computação assíncrono fornecida.
Namespace/Module Path: 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 produz a computação assíncrono para dividir no modelo assíncrono tradicional de programação.NET Framework.
Valor de retorno
Um tuple de extremidade inicial, e membros de cancelamento.
Comentários
Para obter mais informações sobre o modelo de programação assíncrona do .NET Framework, consulte Modelo de programação assíncrona (APM).
O início, a fim, as funções e cancelar normalmente devem ser publicados como os membros que são prefixados com Begin, End, e Cancel, e que podem ser usados em 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 não leva nenhum argumento, 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íncrono 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 lembra a usado em outras linguagens do .NET Framework e está uma maneira útil para publicar os cálculos assíncronos em componentes que pretendem ser usados de outras linguagens do .NET Framework.
Plataformas
O windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informações de Versão
Versões da biblioteca principal de F#
Suportado em: 2,0, 4,0, portáteis