问题描述
|
我知道您在想什么,他为什么要在后台线程中运行异步方法?答案是我正在本地下载一些文件,而本地写入过程需要花费很多时间挂起UI。即使我使用FileStream类的异步方法,也是如此,并且每次调用ReceivedData时创建一个新线程都会占用大量资源,更不用说它会在确保文件完整性方面带来很多问题。当使用.net类WebClient或HTTPWebRequest时,所有这些当然都不是问题。只有其他地方提到的问题/ 6282278,这些类才能可靠运行。
我试过从BackgroundWorker,ThreadPool.QueueUserWorkItem,NSOperationQueue运行NSUrlConnection,由于某种原因,NSUrlConnection似乎仅在从主线程调用时才起作用。任何想法将不胜感激,谢谢。
解决方法
我只使用标准的.Net类:HttpWebRequest或WebClient。
如果可能,我会避免使用任何NS-Apple API。