?????????????????????“.NET1.0?л???IAsyncResult????????????????APM??”???????System.Threading??????????????????????ó???????????Ч???????Щ??????????з????????????????????顣????????????????ó???BackgroundWorker????????????????????????????????????ó????????????????????????????????????

??????????????????????????

????1??????к????????

????2????y????????????????

????3?????????????????

????4??????????????????????

????5????????????????ж????????????????楨??????????????????????????????????

????????????????????????????????????????????????????

????AsyncOperationManager??AsyncOperation

????AsyncOperationManager???AsyncOperation????System.ComponentModel??????????????????????????????????????????????????????????????У?????????????????????????ó??????????? ASP.NET?????????ó???? Windows ??????ó????????“??????????”??????????????????

????AsyncOperationManager???AsyncOperation???API???£?
// ?????????????????????????????????????С?
public static class AsyncOperationManager 

    // ???????????????????????????????
    public static SynchronizationContext SynchronizationContext { get; set; } 
  
    // ?????????????????????????????и????AsyncOperation????
    // ????:userSuppliedState:
    //     ?????????????????????????????? ID???????????????????????
    public static AsyncOperation CreateOperation(object userSuppliedState) 
    { 
        return AsyncOperation.CreateOperation(userSuppliedState??SynchronizationContext); 
    } 

  
// ???????????????????
public sealed class AsyncOperation 

    // ??????
    private AsyncOperation(object userSuppliedState?? SynchronizationContext syncContext); 
    internal static AsyncOperation CreateOperation(object userSuppliedState 
                                            ?? SynchronizationContext syncContext); 
  
    // ????????????????SynchronizationContext????
    public SynchronizationContext SynchronizationContext { get; } 
    // ??????????????????????????
    public object UserSuppliedState { get; } 
  
    // ???????ó?????????????????????е?????С?
    public void Post(SendOrPostCallback d?? object arg); 
    // ???????????????????
    public void OperationCompleted(); 
    // Ч??????? Post() + OperationCompleted() ???????
    public void PostOperationCompleted(SendOrPostCallback d?? object arg); 
}

?????????????????????????

????1??AsyncOperationManager???????????????????????????С???????????л???“????????? Object ????”????С?????????????????? sealed ??????

????2??AsyncOperationManager??????????????????????????????????????????? .NET Framework ??????????ó????????

????3??AsyncOperation?????????????????????????и???????????????????????????????????????????????????·????????????????????????????????????????????AsyncOperation?? Post() ??????????