【问题标题】:UploadValuesAsync and getting some data backUploadValuesAsync 并取回一些数据
【发布时间】: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


    【解决方案1】:

    在 vb-paradise 中获得帮助。

    现在解决办法:

    Dim wc2 As New Net.WebClient AddHandler wc2.UploadValuesCompleted, AddressOf Download_Completed 
    Dim nvc = NVCGetWard_Create("SomeString123456789") 
    wc2.UploadValuesAsync(New Uri(linkToPHPFile), nvc) 
    

    然后你需要回调:

    Private Sub Download_Completed(ByVal sender As Object, ByVal e As UploadValuesCompletedEventArgs) 
    Dim Result = Encoding.ASCII.GetString(e.Result) 
    End Sub 
    

    很简单

    【讨论】:

      猜你喜欢
      • 2017-01-05
      • 2011-07-09
      • 2017-01-28
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 2012-06-12
      • 2021-07-19
      • 1970-01-01
      相关资源
      最近更新 更多