我已经使用web客户端方法在我的wp7应用程序中使用后台工作程序下载图像。我了解到webclient方法通常默认运行在UI线程中。所以现在有一个困惑,那就是now客户端是在应用程序的后台线程还是UI线程中运行,即使它是在后台工作者类中提到的
发布于 2012-08-01 16:10:58
WebClient
请求的执行将在调用它的线程上运行,除非它的方法名末尾有一个异步后缀。(例如,DownloadData(Uri)
将在与调用相同的线程上运行。DownloadDataAsync(Uri)
将在新的后台线程上运行)
如果使用BackgroundWorker
调用WebClient请求,它将不会在UI线程(使用Download
和DownloadAsync
方法)上执行,因为BackgroundWorker
首先已经在后台线程中运行它的代码。
编辑:看看你的标签,应该注意到Silverlight (以及Windows phone7)只支持WebClient
调用的异步版本。
发布于 2012-08-02 02:46:37
Webclient异步调用将在单独的线程中运行,但从WPSDK7.1开始,回调事件将在创建WebClient的线程上调用。(在WP SDK 7.0中,事件总是在UI线程上调用)。
https://stackoverflow.com/questions/11754555
复制相似问题