【发布时间】:2013-12-14 19:50:14
【问题描述】:
我正在尝试改进我的一个项目 (LJTD),它是用 Visual Basic.net 编写的。首先我想展示一下实际的代码是什么:
Dim wc2 As New Net.WebClient
Dim nvc = Module_NVC.NVC_Create("SomeString123456789")
Dim downloadString = wc2.UploadValues(New Uri(linkToPHPFile), nvc)
效果很好。它将一些数据上传到服务器并返回一个字符串。问题是它不是异步的,并且会导致用户的 ping 错误,从而导致应用程序本身出现巨大的峰值。所以越来越不能用了。这就是我尝试启用异步功能的原因:
Dim wc2 As New Net.WebClient
AddHandler wc2.DownloadFileCompleted, AddressOf Download_Completed
Dim nvc = Module_NVC.NVC_Create("SomeString123456789")
Dim downloadString = wc2.UploadValuesAsync(New Uri(linkToPHPFile), nvc)
问题出在最后一行。原因是 UploadValuesAsync 不允许像 UploadValues 那样取回数据 (Library)
背景资料
如果你想知道我的 php 文件长什么样子,请看这里:
<?php
include 'inc/db-connect.php';
if (isset($_POST['teamID'])) {
$teamID = $db->real_escape_string($_POST['teamID']);
}
$sql="SELECT scaleX,scaleY FROM wardmap WHERE teamID = '$teamID';";
$result = $db->query($sql);
while ($row = $result->fetch_object())
echo "\r\n$row->scaleX $row->scaleY";
$db->close();
?>
所以我的问题是
如何上传NameValueCollection Async 并下载PHP 使用echo 写入的数据。
如果您知道没有UploadValuesAsync 的其他方式,也欢迎您。只是给我一些提示。谢谢。
【问题讨论】:
标签: php vb.net visual-studio webclient