【发布时间】:2011-03-31 16:50:26
【问题描述】:
我有一些代码迭代了 100 个 url 并从网络请求数据。
看起来像这样
for each url in urls
Dim hwr = CType(WebRequest.Create(url), HttpWebRequest)
Dim rq = New ReqArgs
rq.Url= url
rq.Request = hwr
Dim res =
hwr.BeginGetResponse(New AsyncCallback(AddressOf FinishWebRequest), rq)
Dim a = 1
next
这看起来好吗?
为什么BeginGetresponse 行在转到dim a=1 之前需要大约 2-3 秒才能完成?
其实我调试了一下,发现FinishWebRequest过程在到达Dim a=1之前就已经完全运行了。
那么这是异步的吗?
我没有通过使用异步获得任何时间。我是吗?还是有其他方法可以做到这一点?
关键是主子应该发出 300 个请求并将控制权返回给 UI,然后 FinishWebRequest 应该在自己的线程和自己的时间慢慢处理它们,因为请求进来。
我该怎么做?
顺便说一句,主子运行在BackgroundWorker,但我检查了BackgroundWorker,问题是一样的
似乎答案应该是here,但它对我不起作用
我是 WPF 4.0
感谢您的帮助和建议。谢谢
【问题讨论】:
-
谢谢,头晕!有谁给我答案吗?
-
我认为我的问题是我使用的是 POST,而不是 GET。我会检查这个然后 POST (duh!)
标签: wpf vb.net .net-4.0 asynchronous httpwebrequest