WebRequest.BeginGetResponse メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebRequest.BeginGetResponse メソッドの意味・解説 

WebRequest.BeginGetResponse メソッド

派生クラスオーバーライドされると、インターネット リソース非同期要求開始します

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Public Overridable Function
 BeginGetResponse ( _
    callback As AsyncCallback, _
    state As Object _
) As IAsyncResult
Dim instance As WebRequest
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginGetResponse(callback, state)
public virtual IAsyncResult BeginGetResponse (
    AsyncCallback callback,
    Object state
)
public:
virtual IAsyncResult^ BeginGetResponse (
    AsyncCallback^ callback, 
    Object^ state
)
public IAsyncResult BeginGetResponse (
    AsyncCallback callback, 
    Object state
)
public function BeginGetResponse (
    callback : AsyncCallback, 
    state : Object
) : IAsyncResult

パラメータ

callback

AsyncCallback デリゲート

state

非同期要求の状態情報格納するオブジェクト

戻り値
非同期要求参照する IAsyncResult。

例外例外
例外種類条件

NotImplementedException

メソッド派生クラスオーバーライドされていないのに、そのメソッドへのアクセス試行されました。

解説解説

BeginGetResponse メソッドは、応答非同期要求開始しますAsyncCallback デリゲート実装するコールバック メソッドは、EndGetResponse メソッド使用してインターネット リソースから WebResponse を返します

メモメモ

WebRequest クラスは、abstract クラスです。実行時WebRequest インスタンス実際動作は、System.Net.WebRequest.Create メソッド返される派生クラスによって決まります既定値および例外詳細については、HttpWebRequest や FileWebRequest などの派生クラス説明参照してください

使用例使用例

BeginGetResponse使用してターゲット リソース非同期的に要求する例を次に示しますリソース取得されている場合は、指定したコールバック メソッド実行されます。

Imports System
Imports System.Net
Imports System.IO
Imports System.Text
Imports System.Threading
Imports Microsoft.VisualBasic



Public Class RequestState
  ' This class stores the state of the request
  Private Shared BUFFER_SIZE As
 Integer = 1024
  Public requestData As StringBuilder
  Public bufferRead() As Byte
  Public request As WebRequest
  Public response As WebResponse
  Public responseStream As Stream
  
  Public Sub New()
    bufferRead = New Byte(BUFFER_SIZE) {}
    requestData = New StringBuilder("")
    request = Nothing
    responseStream = Nothing
  End Sub ' New
End Class ' RequestState

Class WebRequest_BeginGetResponse
  Public Shared allDone As
 New ManualResetEvent(False)
  Private Shared BUFFER_SIZE As
 Integer = 1024
  
  Shared Sub Main()
    Try


      ' Create a new webrequest to the mentioned URL.
      Dim myWebRequest As WebRequest = WebRequest.Create("http://www.contoso.com")
      'Please, set the proxy to a correct value.
      Dim proxy As New WebProxy("itgproxy:80")
      proxy.Credentials = New NetworkCredential("srikun",
 "simrin123")
      myWebRequest.Proxy = proxy
      ' Create a new instance of the RequestState.
      Dim myRequestState As New
 RequestState()
      ' The 'WebRequest' object is associated to the 'RequestState'
 object.
      myRequestState.request = myWebRequest
      ' Start the Asynchronous call for response.
      Dim asyncResult As IAsyncResult = CType(myWebRequest.BeginGetResponse(AddressOf
 RespCallback, myRequestState), IAsyncResult)
      allDone.WaitOne()
      ' Release the WebResponse resource.
      myRequestState.response.Close()
      Console.Read()
    Catch e As WebException
      Console.WriteLine("WebException raised!")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
      Console.WriteLine(ControlChars.Cr + "{0}", e.Status)
    Catch e As Exception
      Console.WriteLine("Exception raised!")
      Console.WriteLine(("Source : " + e.Source))
      Console.WriteLine(("Message : " + e.Message))
    End Try
  End Sub ' Main

  Private Shared Sub RespCallback(asynchronousResult
 As IAsyncResult)
    Try
      ' Set the State of request to asynchronous.
      Dim myRequestState As RequestState =
 CType(asynchronousResult.AsyncState, RequestState)
      Dim myWebRequest1 As WebRequest = myRequestState.request
      ' End the Asynchronous response.
      myRequestState.response = myWebRequest1.EndGetResponse(asynchronousResult)
      ' Read the response into a 'Stream' object.
      Dim responseStream As Stream = myRequestState.response.GetResponseStream()
      myRequestState.responseStream = responseStream
      ' Begin the reading of the contents of the HTML page and print
 it to the console.
      Dim asynchronousResultRead As IAsyncResult
 = responseStream.BeginRead(myRequestState.bufferRead, 0, BUFFER_SIZE, AddressOf
 ReadCallBack, myRequestState)
    Catch e As WebException
      Console.WriteLine("WebException raised!")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
      Console.WriteLine(ControlChars.Cr + "{0}", e.Status)
    Catch e As Exception
      Console.WriteLine("Exception raised!")
      Console.WriteLine(("Source : " + e.Source))
      Console.WriteLine(("Message : " + e.Message))
    End Try
  End Sub ' RespCallback
  Private Shared Sub ReadCallBack(asyncResult
 As IAsyncResult)
    Try
      ' Result state is set to AsyncState.
      Dim myRequestState As RequestState =
 CType(asyncResult.AsyncState, RequestState)
      Dim responseStream As Stream = myRequestState.responseStream
      Dim read As Integer
 = responseStream.EndRead(asyncResult)
      ' Read the contents of the HTML page and then print to the console.
      If read > 0 Then
        myRequestState.requestData.Append(Encoding.ASCII.GetString(myRequestState.bufferRead,
 0, read))
        Dim asynchronousResult As IAsyncResult
 = responseStream.BeginRead(myRequestState.bufferRead, 0, BUFFER_SIZE, AddressOf
 ReadCallBack, myRequestState)
      Else
        Console.WriteLine(ControlChars.Cr + "The HTML page Contents
 are:  ")
        If myRequestState.requestData.Length > 1 Then
          Dim sringContent As String
          sringContent = myRequestState.requestData.ToString()
          Console.WriteLine(sringContent)
        End If
        Console.WriteLine(ControlChars.Cr + "Press 'Enter' key
 to continue........")
        responseStream.Close()
           allDone.Set()
      End If
    Catch e As WebException
      Console.WriteLine("WebException raised!")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
      Console.WriteLine(ControlChars.Cr + "{0}", e.Status)
    Catch e As Exception
      Console.WriteLine("Exception raised!")
      Console.WriteLine("Source :{0} ", e.Source)
      Console.WriteLine("Message :{0} ", e.Message)
    End Try
  End Sub ' ReadCallBack 

End Class ' WebRequest_BeginGetResponse

using System;
using System.Net;
using System.IO;
using System.Text;
using System.Threading;



public class RequestState
{
  // This class stores the state of the request.
  const int BUFFER_SIZE = 1024;
  public StringBuilder requestData;
  public byte[] bufferRead;
  public WebRequest request;
  public WebResponse response;
  public Stream responseStream;
  public RequestState()
  {
    bufferRead = new byte[BUFFER_SIZE];
    requestData = new StringBuilder("");
    request = null;
    responseStream = null;
  }
}
class WebRequest_BeginGetResponse
{
  public static ManualResetEvent allDone= new
 ManualResetEvent(false);
  const int BUFFER_SIZE = 1024;
  static void Main()
  {
    try
    {
      // Create a new webrequest to the mentioned URL.   
      WebRequest myWebRequest= WebRequest.Create("http://www.contoso.com");
      
      // Please, set the proxy to a correct value. 
      WebProxy proxy=new WebProxy("myproxy:80");

      proxy.Credentials=new NetworkCredential("srikun"
,"simrin123");
      myWebRequest.Proxy=proxy;
      // Create a new instance of the RequestState.
      RequestState myRequestState = new RequestState();
      // The 'WebRequest' object is associated to the 'RequestState'
 object.
      myRequestState.request = myWebRequest;
      // Start the Asynchronous call for response.
      IAsyncResult asyncResult=(IAsyncResult) myWebRequest.BeginGetResponse(new
 AsyncCallback(RespCallback),myRequestState);
      allDone.WaitOne();
      // Release the WebResponse resource.
      myRequestState.response.Close();
      Console.Read();
    }
    catch(WebException e)
    {
      Console.WriteLine("WebException raised!");
      Console.WriteLine("\n{0}",e.Message);
      Console.WriteLine("\n{0}",e.Status);
    } 
    catch(Exception e)
    {
      Console.WriteLine("Exception raised!");
      Console.WriteLine("Source : " + e.Source);
      Console.WriteLine("Message : " + e.Message);
    }
  }
  private static void RespCallback(IAsyncResult
 asynchronousResult)
  {  
    try
    {
      // Set the State of request to asynchronous.
      RequestState myRequestState=(RequestState) asynchronousResult.AsyncState;
      WebRequest  myWebRequest1=myRequestState.request;
      // End the Asynchronous response.
      myRequestState.response =  myWebRequest1.EndGetResponse(asynchronousResult);
      // Read the response into a 'Stream' object.
      Stream responseStream = myRequestState.response.GetResponseStream();
      myRequestState.responseStream=responseStream;
      // Begin the reading of the contents of the HTML page and print
 it to the console.
      IAsyncResult asynchronousResultRead = responseStream.BeginRead(myRequestState.bufferRead,
 0, BUFFER_SIZE, new AsyncCallback(ReadCallBack), myRequestState);
    
    }
    catch(WebException e)
    {
      Console.WriteLine("WebException raised!");
      Console.WriteLine("\n{0}",e.Message);
      Console.WriteLine("\n{0}",e.Status);
    } 
    catch(Exception e)
    {
      Console.WriteLine("Exception raised!");
      Console.WriteLine("Source : " + e.Source);
      Console.WriteLine("Message : " + e.Message);
    }
  }
  private static  void ReadCallBack(IAsyncResult
 asyncResult)
  {
    try
    {
      // Result state is set to AsyncState.
      RequestState myRequestState = (RequestState)asyncResult.AsyncState;
      Stream responseStream = myRequestState.responseStream;
      int read = responseStream.EndRead( asyncResult );
      // Read the contents of the HTML page and then print to the console.
      if (read > 0)
      {
        myRequestState.requestData.Append(Encoding.ASCII.GetString(myRequestState.bufferRead,
 0, read));
        IAsyncResult asynchronousResult = responseStream.BeginRead( myRequestState.bufferRead,
 0, BUFFER_SIZE, new AsyncCallback(ReadCallBack), myRequestState);
      }
      else
      {
        Console.WriteLine("\nThe HTML page Contents are:  ");
        if(myRequestState.requestData.Length>1)
        {
          string sringContent;
          sringContent = myRequestState.requestData.ToString();
          Console.WriteLine(sringContent);
        }
        Console.WriteLine("\nPress 'Enter' key to continue........");
        responseStream.Close();
        allDone.Set();
      }
    }
    catch(WebException e)
    {
      Console.WriteLine("WebException raised!");
      Console.WriteLine("\n{0}",e.Message);
      Console.WriteLine("\n{0}",e.Status);
    } 
    catch(Exception e)
    {
      Console.WriteLine("Exception raised!");
      Console.WriteLine("Source : {0}" , e.Source);
      Console.WriteLine("Message : {0}" , e.Message);
    }

  }

}
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;
using namespace System::Text;
using namespace System::Threading;
public ref class RequestState
{
private:

   // This class stores the state of the request.
   literal int BUFFER_SIZE = 1024;

public:
   StringBuilder^ requestData;
   array<Byte>^bufferRead;
   WebRequest^ request;
   WebResponse^ response;
   Stream^ responseStream;
   RequestState()
   {
      bufferRead = gcnew array<Byte>(BUFFER_SIZE);
      requestData = gcnew StringBuilder( "" );
      request = nullptr;
      responseStream = nullptr;
   }

};

ref class WebRequest_BeginGetResponse
{
public:
   static ManualResetEvent^ allDone = gcnew ManualResetEvent(
 false );
   literal int BUFFER_SIZE = 1024;
   static void RespCallback( IAsyncResult^
 asynchronousResult )
   {
      try
      {
         
         // Set the State of request to asynchronous.
         RequestState^ myRequestState = dynamic_cast<RequestState^>(asynchronousResult->AsyncState);
         WebRequest^ myWebRequest1 = myRequestState->request;
         
         // End the Asynchronous response.
         myRequestState->response = myWebRequest1->EndGetResponse( asynchronousResult
 );
         
         // Read the response into a 'Stream' object.
         Stream^ responseStream = myRequestState->response->GetResponseStream();
         myRequestState->responseStream = responseStream;
         
         // Begin the reading of the contents of the HTML page and print
 it to the console.
         IAsyncResult^ asynchronousResultRead = responseStream->BeginRead( myRequestState->bufferRead,
 0, BUFFER_SIZE, gcnew AsyncCallback( ReadCallBack ), myRequestState );
      }
      catch ( WebException^ e ) 
      {
         Console::WriteLine( "WebException raised!" );
         Console::WriteLine( "\n {0}", e->Message );
         Console::WriteLine( "\n {0}", e->Status );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Exception raised!" );
         Console::WriteLine( "Source : {0}", e->Source );
         Console::WriteLine( "Message : {0}", e->Message );
      }

   }

   static void ReadCallBack( IAsyncResult^
 asyncResult )
   {
      try
      {
         
         // Result state is set to AsyncState.
         RequestState^ myRequestState = dynamic_cast<RequestState^>(asyncResult->AsyncState);
         Stream^ responseStream = myRequestState->responseStream;
         int read = responseStream->EndRead( asyncResult );
         
         // Read the contents of the HTML page and then print to the
 console.
         if ( read > 0 )
         {
            myRequestState->requestData->Append( Encoding::ASCII->GetString(
 myRequestState->bufferRead, 0, read ) );
            IAsyncResult^ asynchronousResult = responseStream->BeginRead( myRequestState->bufferRead,
 0, BUFFER_SIZE, gcnew AsyncCallback( ReadCallBack ), myRequestState );
         }
         else
         {
            Console::WriteLine( "\nThe HTML page Contents are:  " );
            if ( myRequestState->requestData->Length >
 1 )
            {
               String^ sringContent;
               sringContent = myRequestState->requestData->ToString();
               Console::WriteLine( sringContent );
            }
            Console::WriteLine( "\nPress 'Enter' key to continue........"
 );
            responseStream->Close();
            allDone->Set();
         }
      }
      catch ( WebException^ e ) 
      {
         Console::WriteLine( "WebException raised!" );
         Console::WriteLine( "\n {0}", e->Message );
         Console::WriteLine( "\n {0}", e->Status );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Exception raised!" );
         Console::WriteLine( "Source : {0}", e->Source );
         Console::WriteLine( "Message : {0}", e->Message );
      }

   }

};

int main()
{
   try
   {
      
      // Create a new webrequest to the mentioned URL.
      WebRequest^ myWebRequest = WebRequest::Create( "http://www.contoso.com"
 );
      
      // Please, set the proxy to a correct value.
      WebProxy^ proxy = gcnew WebProxy( "myproxy:80" );
      proxy->Credentials = gcnew NetworkCredential( "srikun","simrin123"
 );
      myWebRequest->Proxy = proxy;
      
      // Create a new instance of the RequestState.
      RequestState^ myRequestState = gcnew RequestState;
      
      // The 'WebRequest' object is associated to the 'RequestState'
 object.
      myRequestState->request = myWebRequest;
      
      // Start the Asynchronous call for response.
      IAsyncResult^ asyncResult = dynamic_cast<IAsyncResult^>(myWebRequest->BeginGetResponse(
 gcnew AsyncCallback( WebRequest_BeginGetResponse::RespCallback ), myRequestState
 ));
      WebRequest_BeginGetResponse::allDone->WaitOne();
      
      // Release the WebResponse resource.
      myRequestState->response->Close();
      Console::Read();
   }
   catch ( WebException^ e ) 
   {
      Console::WriteLine( "WebException raised!" );
      Console::WriteLine( "\n {0}", e->Message );
      Console::WriteLine( "\n {0}", e->Status );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception raised!" );
      Console::WriteLine( "Source : {0}", e->Source );
      Console::WriteLine( "Message : {0}", e->Message );
   }

}

import System.*;
import System.Net.*;
import System.IO.*;
import System.Text.*;
import System.Threading.*;

public class RequestState
{
    // This class stores the state of the request.
    private static final int
 BUFFER_SIZE = 1024;
    public StringBuilder requestData;
    public ubyte bufferRead[];
    public WebRequest request;
    public WebResponse response;
    public Stream responseStream;

    public RequestState()
    {
        bufferRead = new ubyte[BUFFER_SIZE];
        requestData = new StringBuilder("");
        request = null;
        responseStream = null;
    } //RequestState
} //RequestState

class WebRequest_BeginGetResponse
{
    public static ManualResetEvent allDone
 = new ManualResetEvent(false);
    private static final int
 BUFFER_SIZE = 1024;

    public static void main(String[]
 args)
    {
        try {
            // Create a new webrequest to the mentioned URL.   
            WebRequest myWebRequest = 
                WebRequest.Create("http://www.contoso.com");
            // Please, set the proxy to a correct value. 
            WebProxy proxy = new WebProxy("myproxy:80");

            proxy.set_Credentials(new NetworkCredential("srikun",
 "simrin123"));
            myWebRequest.set_Proxy(proxy);
            // Create a new instance of the RequestState.
            RequestState myRequestState = new RequestState();
            // The 'WebRequest' object is associated to the 'RequestState'
 object.
            myRequestState.request = myWebRequest;
            // Start the Asynchronous call for response.
            IAsyncResult asyncResult = (IAsyncResult)(myWebRequest.
                BeginGetResponse(new AsyncCallback(RespCallback)
,
                myRequestState));
            allDone.WaitOne();
            // Release the WebResponse resource.
            myRequestState.response.Close();
            Console.Read();
        }
        catch (WebException e) {
            Console.WriteLine("WebException raised!");
            Console.WriteLine("\n{0}", e.get_Message());
            Console.WriteLine("\n{0}", e.get_Status());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception raised!");
            Console.WriteLine("Source : " + e.get_Source());
            Console.WriteLine("Message : " + e.get_Message());
        }
    } //main

    private static void RespCallback(IAsyncResult
 asynchronousResult)
    {
        try {
            // Set the State of request to asynchronous.
            RequestState myRequestState = (RequestState)(
                asynchronousResult.get_AsyncState());
            WebRequest myWebRequest1 = myRequestState.request;
            // End the Asynchronous response.
            myRequestState.response = myWebRequest1.EndGetResponse(
                asynchronousResult);
            // Read the response into a 'Stream' object.
            Stream responseStream = myRequestState.response.GetResponseStream();
            myRequestState.responseStream = responseStream;
            // Begin the reading of the contents of the HTML page and
 print it 
            // to the console.
            IAsyncResult asynchronousResultRead = responseStream.BeginRead(
                myRequestState.bufferRead, 0, BUFFER_SIZE, new
 AsyncCallback(
                ReadCallBack), myRequestState);
        }
        catch (WebException e) {
            Console.WriteLine("WebException raised!");
            Console.WriteLine("\n{0}", e.get_Message());
            Console.WriteLine("\n{0}", e.get_Status());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception raised!");
            Console.WriteLine("Source : " + e.get_Source());
            Console.WriteLine("Message : " + e.get_Message());
        }
    } //RespCallback

    private static void
 ReadCallBack(IAsyncResult asyncResult)
    {
        try {
            // Result state is set to AsyncState.
            RequestState myRequestState = (RequestState)(
                asyncResult.get_AsyncState());
            Stream responseStream = myRequestState.responseStream;
            int read = responseStream.EndRead(asyncResult);
            // Read the contents of the HTML page and then print to the
 console.
            if (read > 0) {
                myRequestState.requestData.Append(Encoding.get_ASCII().
                    GetString(myRequestState.bufferRead, 0, read));
                IAsyncResult asynchronousResult = responseStream.BeginRead(
                    myRequestState.bufferRead, 0, BUFFER_SIZE,
                    new AsyncCallback(ReadCallBack), myRequestState);
            }
            else {
                Console.WriteLine("\nThe HTML page Contents are:  ");
                if (myRequestState.requestData.get_Length() >
 1) {
                    String sringContent;
                    sringContent = myRequestState.requestData.ToString();
                    Console.WriteLine(sringContent);
                }
                Console.WriteLine("\nPress 'Enter' key to continue........");
                responseStream.Close();
                allDone.Set();
            }
        }
        catch (WebException e) {
            Console.WriteLine("WebException raised!");
            Console.WriteLine("\n{0}", e.get_Message());
            Console.WriteLine("\n{0}", e.get_Status());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception raised!");
            Console.WriteLine("Source : {0}", e.get_Source());
            Console.WriteLine("Message : {0}", e.get_Message());
        }
    } //ReadCallBack
} //WebRequest_BeginGetResponse
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からWebRequest.BeginGetResponse メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からWebRequest.BeginGetResponse メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からWebRequest.BeginGetResponse メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「WebRequest.BeginGetResponse メソッド」の関連用語

WebRequest.BeginGetResponse メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebRequest.BeginGetResponse メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS