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, 노트북