public override IAsyncResult BeginGetResponse(AsyncCallback callback, object state) { CheckAbort(); if (Interlocked.Exchange(ref _beginGetResponseCalled, 1) != 0) { throw new InvalidOperationException(SR.net_repcall); } _sendRequestCts = new CancellationTokenSource(); _responseCallback = callback; _responseOperation = SendRequest().ToApm(callback, state); return _responseOperation.Task; }
public void Send() { HttpRequestState requestState = new HttpRequestState(); requestState.Request = webRequest; if (requestBytes != null) { webRequest.BeginGetRequestStream(RequestStreamData, requestState); } else { webRequest.BeginGetResponse(ReceivedData, requestState); } }