所以我现在已经尝试了好几个小时才能让它发挥作用......
我做了一个Xamarin Forms PCL项目,我一直在尝试阅读网页的html。
这是我最近的尝试:
//我打电话给网页阅读的方法
async Task<String> GetWebContent()
{
var httpClient = new HttpClient();
return await httpClient.GetStringAsync ("http://www.google.se");
}
然后我这样称呼这个方法:
string html = await GetWebContent();
DisplayAlert("alert", html, "ok");
我只是尝试显示网页的html,看它是否有效,但它总是返回空白。有没有人有任何想法如何使这项工作?
我还添加了这两个nugetpackages: Microsoft.Bcl.Async,它为PCL添加了异步/等待支持。 Microsoft.Net.Http,它为PCL添加了HttpClient支持。
答案 0 :(得分:0)
你可以尝试一下这个,看看它是否会抛出任何类型的异常?我在一台设备上进行了测试,看起来效果很好。
public static Page GetMainPage()
{
var button = new Button
{
Text = "Click to display web page",
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand,
};
var page = new ContentPage
{
Content = button
};
button.Clicked += async (s, e) =>
{
try
{
var webPage = await new HttpClient().GetStringAsync(new Uri("http://www.google.se"));
await page.DisplayAlert("alert", webPage, "ok", "cancel");
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
};
return page;
}