다음을 통해 공유


Async.AsBeginEnd<'Arg,'T> 메서드(F#)

제공된 비동기 계산에 대해 .NET Framework APM(비동기 프로그래밍 모델)을 구현하는 데 사용할 수 있는 세 개의 함수를 만듭니다.

네임스페이스/모듈 경로: Microsoft.FSharp.Control

어셈블리: FSharp.Core(FSharp.Core.dll)

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

// Usage:
Async.AsBeginEnd (computation)

매개 변수

  • computation
    형식: 'Arg -> Async<'T>

    일반적인 .NET Framework 비동기 프로그래밍 모델로 분할할 비동기 계산을 생성하는 함수입니다.

반환 값

begin, end 및 cancel 멤버의 튜플입니다.

설명

.NET 프레임워크 비동기 프로그래밍 모델에 대한 자세한 내용은 APM(비동기 프로그래밍 모델)를 참조하십시오.

begin, end 및 cancel 함수는 일반적으로 Begin, End 및 Cancel로 접두사가 지정된 멤버로 게시해야 하며, 다음과 같이 형식 정의 내에서 사용할 수 있습니다.

 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)

비동기 계산에 인수가 사용되지 않으면 다음과 같이 AsBeginEnd를 사용합니다.

 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)

비동기 계산에 두 인수가 사용되지 않으면 다음과 같이 AsBeginEnd를 사용합니다.

 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)

어느 경우에든 결과 API는 다른 .NET Framework 언어에 사용되는 결과와 비슷하며 다른 .NET Framework 언어에서 사용되는 구성 요소에서 비동기 계산을 게시하는 데 유용한 방법입니다.

플랫폼

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

버전 정보

F# 코어 라이브러리 버전

지원: 2.0, 4.0, 노트북

참고 항목

참조

Control.Async 클래스(F#)

Microsoft.FSharp.Control 네임스페이스(F#)

AsyncCallback

IAsyncResult