1

Windows 8 では、URL から html ソースを取得しようとしています:

private void loadingDatafromWeb(string URL)
{
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
    request.BeginGetResponse(new AsyncCallback(ReadCallbackLoadingData),request);
}

と:

private void ReadCallbackLoadingData(IAsyncResult asynchronousResult)
{
    string myPageSource;
    HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
    HttpWebResponse response =   (HttpWebResponse)request.EndGetResponse(asynchronousResult);
    using (StreamReader myWebSource = new StreamReader(response.GetResponseStream()))
    {
        myPageSource = myWebSource.ReadToEnd();
    }

関数 loadingDatafromWeb で文字列 myPageSource を取得したいのですが、できません。方法を教えてください。

4

1 に答える 1

0

新しい .Net 4.5 機能を使用して、awaitキーワードで呼び出すことができます。

private void loadingDatafromWeb(string URL)
{
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
    string html = await ReadData(new Uri(request));
}

そして、ヘルパーメソッドは次のとおりです。

private async Task<string> ReadData(Uri uri)
{
     string result;

     // Get your response synchronously (do not forget to enscope WebResponse
     // and other Streams inside 'usings').

     return result;
}
于 2012-11-08T10:14:13.460 に答える