05.异步编程

1.IAsyncResult:通过委托进行异步编程。
    i.创建需要调用函数的委托,通过BeginInvoke来执行异步调用。
    ii.BeginInvoke当中的参数分三部分
        1.调用函数的参数。
        2.异步回调函数。
        3.Object类型的参数,可以在回调函数中使用(r.AsyncState)。
    iii.其中CallBack是一个参数的委托,参数为:[IAsyncResult]。
    iv.CallBack主要进行跟踪,执行EndInvoke来返回具体结果。
    v.不能进行多任务处理。
2.BackgroundWorker:通过微软提供的异步处理类进行编程处理。
    i.创建BackgroundWorker对象,通过BackgroundWorker对象的处理事件增加处理函数。在通过BackgroundWorker对象的处理完成事件增加处理完成函数。
    ii.不能进行多任务处理。
3.事件异步处理:“IAsyncResult”以及“BackgroundWorker”都只能有单任务,而事件异步处理可以有多任务。

问题:将上述3个形式放入Web系统当中,只有“IAsyncResult”能正常符合异步函数编程。其他两种形式都不能成功,但是在控制台应用程序却可以正常运行。目前没有解决。

代码:下载

posted @ 2011-02-27 18:14  13路易的  阅读(221)  评论(0编辑  收藏  举报