特定のサイトの HTML を取得する必要がある Windows 8 用のアプリをコーディングしています。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# は初めてなので、コーディングや命名に大きな間違いがあるかもしれません。