コード例 #1
0
        public static HttpWebRequest UploadDataAsync(Uri address, X509Certificate2 clientCert, string contentType, byte[] data,
                                                     int millisecondsTimeout, OpenWriteEventHandler openWriteCallback, DownloadProgressEventHandler downloadProgressCallback,
                                                     RequestCompletedEventHandler completedCallback)
        {
            // Create the request
            HttpWebRequest request = SetupRequest(address, clientCert);

            request.ContentLength = data.Length;
            if (!String.IsNullOrEmpty(contentType))
            {
                request.ContentType = contentType;
            }
            request.Method = "POST";

            // Create an object to hold all of the state for this request
            RequestState state = new RequestState(request, data, millisecondsTimeout, openWriteCallback,
                                                  downloadProgressCallback, completedCallback);

            // Start the request for a stream to upload to
            IAsyncResult result = request.BeginGetRequestStream(OpenWrite, state);

            // Register a timeout for the request
            ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle, TimeoutCallback, state, millisecondsTimeout, true);

            return(request);
        }
コード例 #2
0
ファイル: CapsBase.cs プロジェクト: RavenB/gridsearch
 public RequestState(HttpWebRequest request, byte[] uploadData, int millisecondsTimeout, OpenWriteEventHandler openWriteCallback,
     DownloadProgressEventHandler downloadProgressCallback, RequestCompletedEventHandler completedCallback)
 {
     Request = request;
     UploadData = uploadData;
     MillisecondsTimeout = millisecondsTimeout;
     OpenWriteCallback = openWriteCallback;
     DownloadProgressCallback = downloadProgressCallback;
     CompletedCallback = completedCallback;
 }
コード例 #3
0
 public RequestState(HttpWebRequest request, byte[] uploadData, int millisecondsTimeout, OpenWriteEventHandler openWriteCallback,
                     DownloadProgressEventHandler downloadProgressCallback, RequestCompletedEventHandler completedCallback)
 {
     Request                  = request;
     UploadData               = uploadData;
     MillisecondsTimeout      = millisecondsTimeout;
     OpenWriteCallback        = openWriteCallback;
     DownloadProgressCallback = downloadProgressCallback;
     CompletedCallback        = completedCallback;
 }
コード例 #4
0
ファイル: CapsBase.cs プロジェクト: RavenB/gridsearch
        public static HttpWebRequest UploadDataAsync(Uri address, X509Certificate2 clientCert, string contentType, byte[] data,
            int millisecondsTimeout, OpenWriteEventHandler openWriteCallback, DownloadProgressEventHandler downloadProgressCallback,
            RequestCompletedEventHandler completedCallback)
        {
            // Create the request
            HttpWebRequest request = SetupRequest(address, clientCert);
            request.ContentLength = data.Length;
            if (!String.IsNullOrEmpty(contentType))
                request.ContentType = contentType;
            request.Method = "POST";

            // Create an object to hold all of the state for this request
            RequestState state = new RequestState(request, data, millisecondsTimeout, openWriteCallback,
                downloadProgressCallback, completedCallback);

            // Start the request for a stream to upload to
            IAsyncResult result = request.BeginGetRequestStream(OpenWrite, state);
            // Register a timeout for the request
            ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle, TimeoutCallback, state, millisecondsTimeout, true);

            return request;
        }