c# - 无法在 Xamarin 中加载简单页面

标签 c# android xamarin xamarin.forms

我在可移植项目中使用 Xamarin.Forms。在可移植项目中,我正在尝试使用以下内容下载网页:

public static List<Lesson> ReadCurrentLessons()
{
  var request = (HttpWebRequest)WebRequest.Create(new Uri(timetablePage));
  request.ContentType = "text/html";
  request.Method = "GET";
  var z = request.BeginGetResponse((IAsyncResult ar) =>
  {
    var rq = (HttpWebRequest) ar.AsyncState;
    using (var resp = (HttpWebResponse) rq.EndGetResponse(ar))
    {
      var s = resp.GetResponseStream();
    }
  }, null);
  return null;
}

不幸的是,无论我做什么,它都不起作用:调试器不让我进入第一个 lambda,或者如果允许,ar.AsyncState 总是显示为等于

我做错了什么?我已经设置了 INTERNET 权限并验证了 Android 模拟器可以访问互联网。

最佳答案

我正在使用这个,来自 Microsoft HTTP 客户端库 https://www.nuget.org/packages/Microsoft.Net.Http ,而且效果很好

  using (var httpClient = new HttpClient(handler))
        {
            Task<string> contentsTask = httpClient.GetStringAsync(uri); 

            // await! control returns to the caller and the task continues to run on another thread
            string contents = await contentsTask;
            vendors = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MyObject>>(contents);
        }

关于c# - 无法在 Xamarin 中加载简单页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27059407/

相关文章:

java - android服务以特定的时间间隔连续执行任务

java - 如何在 Android 中使用 Xpath 比较日期

c# - 等待 MoveTo 操作完成的正确方法是什么?

java - <String,String> 类型的哈希表正在存储 <String, Integer> 类型的值,正如我在日志猫和调试器中看到的那样。是否可以?

xamarin - colorPrimaryDark 似乎在 Xamarin.Android 中不起作用

c# - Xamarin - 在没有硬件加速支持的笔记本电脑上部署

c# - system.uri' 不包含 'parsequerystring' 的定义

c# - 获取gridview中选中记录的超链接字段值

c# - 枚举中定义的项目总数

c# - 控制台锁定在 TraceSource 方法中的线程