为什么这样异步调用没有效果?

laboboo 2005-09-23 04:18:21
实际上我是要循环一个treeview,给每个节点调用这个webservices方法
所以用异步调用我认为比较合适.
代码如下:
Dim sonNote As TreeNode
For Each sonNote In note.Nodes
If sonNote.Checked = True Then
j += 1
Dim nowCityId As Integer = RemoveString(sonNote.Text)
' CityId = nowCityId
'创建进程
'ReDim threadArray(threadArray.Length + 1)
'Dim ThreadDelivert As New ThreadDelivert
'Dim Thread1 As New Thread(AddressOf ThreadDelivert.insertMoreDelivery)
'Thread1.Name = "Thread" & j
'ThreadDelivert.cityId = nowCityId
'ThreadDelivert.deliveryId = deliveryId
'ThreadDelivert.shoppingWebId = shoppingWebId
'ThreadDelivert.remark = remark
' threadArray(threadArray.Length) = Thread1
'Thread1.Start()
'Thread1.Join()

Dim dataService As New GoByGo.Com.TheGoByGoWebService.TravelService
Dim ar As IAsyncResult = dataService.BeginInsertShoppingWebDeliveryByShopIdAndCityId(UserSettings.Instance.Username, UserSettings.Instance.Password, shoppingWebId, nowCityId, deliveryId, remark, Nothing, Nothing)
ar.AsyncWaitHandle.WaitOne()
Dim getInt As Integer
getInt = dataService.EndInsertShoppingWebDeliveryByShopIdAndCityId(ar)
If getInt > 0 Then
MessageBox.Show("添加成功部分!")
Else
MessageBox.Show("添加失败部分!")
End If
ar.AsyncWaitHandle.Close()
End If
Next

结果却是,循环的第一个提示成功MessageBox.Show("添加成功部分!"),其他的全部是失败MessageBox.Show("添加失败部分!")
,请问为什么?
...全文
158 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wirte 2005-09-28
  • 打赏
  • 举报
回复
帮你顶一下

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧