WebRequest.BeginGetRequestStream provides an asynchronous version of the GetRequestStream method. : Web Request « Network Remote « VB.Net






WebRequest.BeginGetRequestStream provides an asynchronous version of the GetRequestStream method.

 

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

Public Class RequestState
    Public request As WebRequest
    Public Sub New()
        request = Nothing
    End Sub ' New
End Class ' RequestState


Class WebRequest_BeginGetRequeststream
    Public Shared allDone As New ManualResetEvent(False)

    Shared Sub Main()
            Dim myWebRequest As WebRequest = WebRequest.Create("http://www.domain.com/")
            Dim myRequestState As New RequestState()
            myRequestState.request = myWebRequest
            myWebRequest.ContentType = "application/x-www-form-urlencoded"

            myRequestState.request.Method = "POST"
            Dim r As IAsyncResult = CType(myWebRequest.BeginGetRequestStream(AddressOf ReadCallback, myRequestState), IAsyncResult)
            allDone.WaitOne()
            Dim myWebResponse As WebResponse = myWebRequest.GetResponse()
            Dim streamResponse As Stream = myWebResponse.GetResponseStream()
            Dim streamRead As New StreamReader(streamResponse)
            Dim readBuff(256) As [Char]
            Dim count As Integer = streamRead.Read(readBuff, 0, 256)
            While count > 0
                Dim outputData As New [String](readBuff, 0, count)
                Console.WriteLine(outputData)
                count = streamRead.Read(readBuff, 0, 256)
            End While
            streamResponse.Close()
            streamRead.Close()
             myWebResponse.Close()
    End Sub 
    Private Shared Sub ReadCallback(asynchronousResult As IAsyncResult)
            Dim myRequestState As RequestState = CType(asynchronousResult.AsyncState, RequestState)
            Dim myWebRequest As WebRequest = myRequestState.request
            Dim streamResponse As Stream = myWebRequest.EndGetRequestStream(asynchronousResult)
            Dim postData As String = Console.ReadLine()
            Dim encoder As New ASCIIEncoding()
            Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
            streamResponse.Write(byteArray, 0, postData.Length)
            streamResponse.Close()
            allDone.Set()
    End Sub 
End Class

   
  








Related examples in the same category

1.Download Data from a URI
2.Web Request and Response: type and content type, length
3.Get response and response stream from WebRequest
4.Google Client
5.Is Connection Available
6.WebRequest Class makes a request to a Uniform Resource Identifier (URI).
7.Create WebRequest class.
8.WebRequest.Create creates a new WebRequest instance for the specified URI scheme.
9.WebRequest.Create (Uri) creates a new WebRequest instance for the specified URI scheme.
10.WebRequest.Credentials Property gets or sets the network credentials
11.WebRequest.GetResponse returns a response to an Internet request.
12.WebRequest.Headers Property gets or sets the collection of header name/value pairs associated with the request.
13.WebRequest.PreAuthenticate Property indicates whether to pre-authenticate the request.
14.WebRequest.Proxy Property gets or sets the network proxy to use to access this Internet resource.
15.WebRequest.RequestUri Property gets the URI of the Internet resource associated with the request.
16.WebRequest Class makes a request to a Uniform Resource Identifier (URI).