【问题标题】:Windows Phone 8: passing data from PHP page to windows phone 8 appWindows Phone 8:将数据从 PHP 页面传递到 Windows Phone 8 应用程序
【发布时间】:2014-03-29 05:31:25
【问题描述】:

我需要从 php 页面发送一些数据到 windows phone 8(C#) 并需要显示它。

这是我的 wp8 端代码:

   private void Track_Click(object sender, RoutedEventArgs e)
   {
      HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(attackUri);
      request.BeginGetResponse(Showtext, request);

   }
 } 
 void Showtext(IAsyncResult result)
{
   HttpWebRequest request = result.AsyncState as HttpWebRequest;
   if (request != null)
   {
      try
      {
         WebResponse response = request.EndGetResponse(result);
         var txt = request.Content.ReadAsStringAsync();

         //to display data passed from PHP page
         MessageBox.Show(txt.Result);
      }
      catch (WebException e)
      {

      }
   }
}

【问题讨论】:

  • 您的问题到底出在哪里?您的方法通常看起来不错。当然,在这种情况下,请求的 php 页面必须回显您要显示的结果。
  • MessageBox.Show(txt.Result) @malte 出现错误
  • 错误 1 ​​'System.Net.HttpWebRequest' 不包含 'Content' 的定义,并且找不到接受第一个参数类型为 'System.Net.HttpWebRequest' 的扩展方法 'Content' (您是否缺少 using 指令或程序集引用?)@malte
  • System.Windows.ni.dll 中发生“System.UnauthorizedAccessException”类型的异常,但未在用户代码中处理如果有此异常的处理程序,则程序可以安全地继续。@麦芽酒

标签: c# php mobile windows-phone-8


【解决方案1】:

我不太确定,你的 request.Content 是从哪里得到的,但它似乎不是 WP8 原生的。

试试下面的。这就是它一直对我有用的方式:

    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri("http://www.google.de"));
    request.BeginGetResponse(ShowText, request);

    private void ShowText(IAsyncResult result)
    {
        HttpWebRequest request = (HttpWebRequest)result.AsyncState;
        HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);

        using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
        {
            string content = streamReader.ReadToEnd();
            Debug.WriteLine(content);
        }
    }

【讨论】:

  • 它工作正常,但现在我遇到了另一个问题,如何单独检索数据。我的 PHP 页面回显两个参数作为结果,我需要将这些数据分别分配给变量 p1 和 p2。我希望你可以帮助我。 @malte
  • private void Showtext(IAsyncResult result) { HttpWebRequest request = (HttpWebRequest)result.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result); using (StreamReader streamReader = new StreamReader(response.GetResponseStream())) { double content = Convert.ToDouble(streamReader.ReadToEnd()); Debug.WriteLine(content); } }
  • 如何在 PHP 端回显 JSON 字符串并将其解析为您选择的对象? - 如果您需要帮助,只需在 SO 上发布另一个问题或开始搜索 :)
猜你喜欢
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 2016-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多