HttpClient SendAsync导致错误“打开文件太多”

时间:2014-05-31 10:59:42

标签: c# xamarin.ios

在我的代码中,当滚动CollectionView(monotouch)时,我收到了很多“太多打开的文件”错误。此错误的问题在于很难找到此错误的原因。

花了很多时间后,我终于找到了原因,这就是这段代码:

using(var request = new HttpRequestMessage (HttpMethod.Get, uri)){
    var ResponseMessage = await HttpDownloadManager.SendAsync (request, HttpCompletionOption.ResponseHeadersRead);
    ResponseMessage.Dispose(); // I just added this to see if it solves the problem
}

如果我删除此“SendAsync”电话,我不再有任何错误。 我也在使用HttpClient的另一个调用:

byte[] data = await HttpDownloadManager.GetByteArrayAsync (datamodel.uri); 

这个电话不会给我任何问题。

当我在收到此错误时输入“lsof”时,我会看到以下几行:

30u  IPv4 SomeValueHere   0t0  TCP SomeIPHere:51663->SomeURLHere:http (CLOSE_WAIT)

有人有想法吗?

0 个答案:

没有答案