private static void GetRequestStreamCallback(IAsyncResult asyncResult) { RequestAndData requestAndData = (RequestAndData)asyncResult.AsyncState; HttpWebRequest webRequest = requestAndData.Request; byte[] data = requestAndData.Data; using (Stream postStream = webRequest.EndGetRequestStream(asyncResult)) { postStream.Write(data, 0, data.Length); } }
/// <summary> /// POSTs to the specified request URI string asynchronously. /// </summary> /// <param name="requestUriString">The request URI string.</param> /// <param name="postData">The post data.</param> /// <param name="proxy">The proxy.</param> /// <returns>An <see cref="IAsyncResult"/> that references the asynchronous request.</returns> public static IAsyncResult PostAsync(string requestUriString, IEnumerable <PostData> postData, IWebProxy proxy) { Guard.ArgumentNotNullOrEmptyString(requestUriString, "requestUriString"); Guard.ArgumentNotNull(postData, "postData"); Guard.ArgumentNotNull(proxy, "proxy"); byte[] data; HttpWebRequest webRequest = GetPostRequest(requestUriString, postData, out data, proxy); RequestAndData requestAndData = new RequestAndData { Request = webRequest, Data = data }; return(webRequest.BeginGetRequestStream(GetRequestStreamCallback, requestAndData)); }
/// <summary> /// POSTs to the specified request URI string asynchronously. /// </summary> /// <param name="requestUriString">The request URI string.</param> /// <param name="postData">The post data.</param> /// <returns>An <see cref="IAsyncResult"/> that references the asynchronous request.</returns> public static IAsyncResult PostAsync(string requestUriString, IEnumerable <PostData> postData) { if (string.IsNullOrWhiteSpace(requestUriString)) { throw new ArgumentNullException("requestUriString"); } if (postData == null) { throw new ArgumentNullException("postData"); } byte[] data; HttpWebRequest webRequest = GetPostRequest(requestUriString, postData, out data); RequestAndData requestAndData = new RequestAndData { Request = webRequest, Data = data }; return(webRequest.BeginGetRequestStream(GetRequestStreamCallback, requestAndData)); }
/// <summary> /// POSTs to the specified request URI string asynchronously. /// </summary> /// <param name="requestUriString">The request URI string.</param> /// <param name="postData">The post data.</param> /// <param name="proxy">The proxy.</param> /// <returns>An <see cref="IAsyncResult"/> that references the asynchronous request.</returns> public static IAsyncResult PostAsync(string requestUriString, IEnumerable<PostData> postData, IWebProxy proxy) { Guard.ArgumentNotNullOrEmptyString(requestUriString, "requestUriString"); Guard.ArgumentNotNull(postData, "postData"); Guard.ArgumentNotNull(proxy, "proxy"); byte[] data; HttpWebRequest webRequest = GetPostRequest(requestUriString, postData, out data, proxy); RequestAndData requestAndData = new RequestAndData { Request = webRequest, Data = data }; return webRequest.BeginGetRequestStream(GetRequestStreamCallback, requestAndData); }
/// <summary> /// POSTs to the specified request URI string asynchronously. /// </summary> /// <param name="requestUriString">The request URI string.</param> /// <param name="postData">The post data.</param> /// <returns>An <see cref="IAsyncResult"/> that references the asynchronous request.</returns> public static IAsyncResult PostAsync(string requestUriString, IEnumerable<PostData> postData) { if (string.IsNullOrWhiteSpace(requestUriString)) throw new ArgumentNullException("requestUriString"); if (postData == null) throw new ArgumentNullException("postData"); byte[] data; HttpWebRequest webRequest = GetPostRequest(requestUriString, postData, out data); RequestAndData requestAndData = new RequestAndData { Request = webRequest, Data = data }; return webRequest.BeginGetRequestStream(GetRequestStreamCallback, requestAndData); }