/// <summary> /// 非同期HTTPリクエストのレスポンスを取得したときに呼ばれます。 /// </summary> private static void GetHttpResponseDone(IAsyncResult result) { var data = (GetHttpResponseDoneData)result.AsyncState; try { var response = data.WebRequest.EndGetResponse(result); if (response == null) { data.Callback(result, null); return; } // 入出力ストリームです。 var inputStream = response.GetResponseStream(); var outputStream = new MemoryStream(); var buffer = new byte[BUFFERING_SIZE]; var callData = new ReadHttpStreamDoneData() { InputStream = inputStream, OutputStream = outputStream, Buffer = buffer, Callback = data.Callback, }; // レスポンスデータの読み込みを開始します。 inputStream.BeginRead( buffer, 0, buffer.Length, ReadHttpStreamDone, callData); } catch { data.Callback(result, null); } }
/// <summary> /// 非同期HTTPリクエストのレスポンスを取得したときに呼ばれます。 /// </summary> private static void GetHttpResponseDone(IAsyncResult result) { var data = (GetHttpResponseDoneData)result.AsyncState; try { var response = data.WebRequest.EndGetResponse(result); if (response == null) { data.Callback(result, null); return; } // 入出力ストリームです。 var inputStream = response.GetResponseStream(); var outputStream = new MemoryStream(); var buffer = new byte[BUFFERING_SIZE]; var callData = new ReadHttpStreamDoneData() { InputStream = inputStream, OutputStream = outputStream, Buffer = buffer, Callback = data.Callback, }; // レスポンスデータの読み込みを開始します。 inputStream.BeginRead( buffer, 0, buffer.Length, ReadHttpStreamDone, callData); } catch { data.Callback(result, null); } }