Async.FromBeginEnd <'Arg1, T' > Método (F#)

Cria uma computação assíncrona em termos de um par de Begin/End de ações no estilo usado nas APIs de CLI.

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

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

// Signature:
static member FromBeginEnd : 'Arg1 * ('Arg1 * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * ?(unit -> unit) -> Async<'T>

// Usage:
Async.FromBeginEnd (arg, beginAction, endAction)
Async.FromBeginEnd (arg, beginAction, endAction, cancelAction = cancelAction)

Parâmetros

  • arg
    Tipo: 'Arg1

    O argumento para a operação.

  • beginAction
    Tipo: 'Arg1 * AsyncCallback * obj -> IAsyncResult

    A função iniciando uma operação assíncrona de CLI tradicional.

  • endAction
    Tipo: IAsyncResult -> 'T

    A função concluir uma operação assíncrona de CLI tradicional.

  • cancelAction
    Tipo: (unidade -> unidade)

    Uma função opcional a ser executado quando for solicitado um cancelamento.

Valor de retorno

Uma computação assíncrona quebra as funções de início/fim determinadas.

Comentários

Essa sobrecarga deve ser usada se a operação é qualificada por um argumento. Por exemplo, você pode criar uma computação assíncrona para uma chamada de serviço da web com o código a seguir.

Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)

Quando a computação é executada, beginFunc é executado com um retorno de chamada que representa a continuação da computação. Quando o retorno de chamada é invocado, o resultado geral é procurado por usando endFunc.

A computação responderá ao cancelamento enquanto aguarda a conclusão da operação. Se o cancelamento ocorrer, e cancelAction for especificado, em seguida, ele é executado, e a computação continua aguardar a conclusão da operação. Se cancelAction não for especificado, em seguida, cancelamento faz com que a computação a parar imediatamente e chamadas subseqüentes do retorno de chamada são ignoradas.

Por exemplo, consulte Async.FromBeginEnd <'T>. Método (F#).

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#)