FTP 框架 - 异步下载文件 - 回调、委托、线程、后台工作线程、异常内部线程



我正在编写一个FTPS框架。用户(使用我的框架的程序员)应该可以异步下载文件(在另一个Thread中)。所以,我最大的问题是,程序员无法处理在传输中DownloadFile方法中抛出的Exception Thread:- 当我要求AsyncCallback告诉程序下载传输已完成时,"他"如何处理Exception s(从他的Thread)?
- BackgroundWorker有同样的问题,此外程序员必须给我一个RunWorkerCompletedEventHandler(object, RunWorkerCompletedEventArgs)

谢谢!

自 .NET 2.0 以来,有两个选项可用于公开异步 API:

异步编程模型 - 适用于更多后端/库代码。

基于事件的异步模式 - 在 UI 中使用代码时优先使用。

在 .NET 4 中,您现在还具有"基于任务的异步模式"(TAP):

使用任务简化异步编程

如果可以的话,我会选择TAP - 它是三者中最好的,可以解决异常处理等问题。

最新更新