我正在编写一个适用于 Windows 8 的应用程序,该应用程序需要获取特定站点的 HTML。当我将它编码到 MainPage 中的按钮事件中时,它运行良好。但是,当我尝试在我的班级“乐队”中这样做时:
public Band(String Name)
{
this.Name = Name;
GetHtmlDocument();
GenerateId();
GetAlbumDocument();
GenerateLogo();
GeneratePhoto();
CreateAlbumList();
}
private async void GetHtmlDocument()
{
HttpClientHandler handler = new HttpClientHandler();
HttpClient client = new HttpClient(handler as HttpMessageHandler) { BaseAddress = new Uri(@"http://www.metal-archives.com/bands/" + Name) };
var r = await client.GetAsync(client.BaseAddress);
string html = null;
if (r.IsSuccessStatusCode) html = await r.Content.ReadAsStringAsync();
HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(html);
DocumentBand = document;
}
它来到
var r = await client.GetAsync(client.BaseAddress);
行,然后从GenerateId()
构造函数中的方法继续。但是为了处理GenerateId()
方法,GetHtmlDocument()
方法必须完成。在这种情况下我该怎么办?
我的主要语言是 Java,而且我对 C# 还很陌生,因此可能存在巨大的编码或命名错误。