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