HttpWebRequest.BeginGetRequestStream Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Begins an asynchronous request for a Stream object to use to write data.
Namespace: System.Net
Assembly: System.Net (in System.Net.dll)
Syntax
'Declaration
Public Overrides Function BeginGetRequestStream ( _
callback As AsyncCallback, _
state As Object _
) As IAsyncResult
public override IAsyncResult BeginGetRequestStream(
AsyncCallback callback,
Object state
)
Parameters
- callback
Type: System.AsyncCallback
The AsyncCallback delegate.
- state
Type: System.Object
The state object for this request.
Return Value
Type: System.IAsyncResult
An IAsyncResult that references the asynchronous request.
Exceptions
Exception | Condition |
---|---|
ProtocolViolationException | The Method property is GET -or- The ContentLength property was set to a value that does not match the size of the provided request body. |
InvalidOperationException | The stream is being used by a previous call to BeginGetRequestStream -or- The thread pool is running out of threads. |
NotImplementedException | This method is not implemented. |
NotSupportedException | The request cache validator indicated that the response for this request can be served from the cache; however, requests that write data must not use the cache. This exception can occur if you are using a custom cache validator that is incorrectly implemented. |
WebException | Abort was previously called. |
ObjectDisposedException | In a .NET Framework application, a request stream with zero content length was not obtained and closed correctly. |
Remarks
The BeginGetRequestStream method starts an asynchronous request for a stream used to send data for the HttpWebRequest. The asynchronous callback method uses the EndGetRequestStream method to return the actual stream.
You must use the BeginGetResponse method to retrieve the response. The IAsyncResult returned by the BeginGetResponse method does not support the AsyncWaitHandle property. If an application tries to access the AsyncWaitHandle property, a NotSupportedException is thrown.
On the client HTTP stack if AllowWriteStreamBuffering is false, the ContentLength property must be used to set the correct value of the Content-Length header before calling the BeginGetRequestStream method.
The AllowWriteStreamBuffering property affects when the callback from BeginGetRequestStream method is called. When the AllowWriteStreamBuffering property is true, the callback is raised immediately before any data is sent. When the AllowWriteStreamBuffering property is false, the callback is raised only after the headers are sent and then all writes to the stream are immediately sent to the server.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.