当前位置: 首页>>代码示例>>C#>>正文


C# WebRequest.EndGetResponse方法代码示例

本文整理汇总了C#中System.Net.WebRequest.EndGetResponse方法的典型用法代码示例。如果您正苦于以下问题:C# WebRequest.EndGetResponse方法的具体用法?C# WebRequest.EndGetResponse怎么用?C# WebRequest.EndGetResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Net.WebRequest的用法示例。


在下文中一共展示了WebRequest.EndGetResponse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SendRequestAsyncTPL

		private ServiceResponse SendRequestAsyncTPL(WebRequest request)
		{
			return _retryPolicy.ExecuteAction<ServiceResponse>(() =>
			{
				var task = Task.Factory.FromAsync(
					request.BeginGetResponse,
					asyncResult => request.EndGetResponse(asyncResult),
					null)
				.ContinueWith((t) =>
					{
						var response = (HttpWebResponse)t.Result;
						var reader = new StreamReader(response.GetResponseStream());
						var message = reader.ReadToEnd();
						return new ServiceResponse() { IsSuccess = true, Message = message };
					});

				try
				{
					return task.Result;
				}
				catch (AggregateException ae)
				{
					throw MappedAggregateException(ae);
				}

			});
		}
开发者ID:tarwn,项目名称:TestableHttpWebResponse,代码行数:27,代码来源:SampleService.cs

示例2: ToXml

        XElement ToXml(WebRequest request, IAsyncResult result)
        {
            if (result.IsCompleted)
            {
                using (var response = request.EndGetResponse(result))
                using (var input    = response.GetResponseStream())
                {
                    return ToXml(input);
                }
            }

            return null;
        }
开发者ID:cpmcgrath,项目名称:TelevisionGuideAustralia,代码行数:13,代码来源:DataFetcher.cs

示例3: ReadResult

 private string ReadResult(WebRequest webRequest, IAsyncResult asyncResult)
 {
     try
     {
         using (var response = webRequest.EndGetResponse(asyncResult))
         {
             var result = response.GetResponseString();
             return result;
         }
     }
     catch
     {
         return "Error";
     }
 }
开发者ID:opavlyshak,项目名称:dotNet-async-demos,代码行数:15,代码来源:APMController.cs

示例4: GeneralProcessResponse

 private void GeneralProcessResponse(WebRequest request, IAsyncResult result, Action<Stream> responseStreamHandler)
 {
     IsLoading = false;
     try
     {
         var response = request.EndGetResponse(result);
         using (var stream = response.GetResponseStream())
         {
             responseStreamHandler(stream);
         }
     }
     catch (Exception exception)
     {
         ReportError("Sorry - problem seen " + exception.Message);
     }
 }
开发者ID:MicahelWang,项目名称:XamarinSamples,代码行数:16,代码来源:BaseViewModel.cs

示例5: RequestAsync

        private static void RequestAsync(WebRequest request, byte[] bodyBytes, Action<TrackResult> callback)
        {
            request.BeginGetRequestStream((r1) =>
            {
                try
                {
                    var stream = request.EndGetRequestStream(r1);
                    stream.BeginWrite(bodyBytes, 0, bodyBytes.Length, (r2) =>
                    {
                        try
                        {
                            stream.EndWrite(r2);
                            stream.Dispose();

                            request.BeginGetResponse((r3) =>
                            {
                                try
                                {
                                    using (var response = request.EndGetResponse(r3))
                                    {
                                        using (var reader = new StreamReader(response.GetResponseStream()))
                                        {
                                            if (callback != null)
                                                callback(new TrackResult(reader.ReadToEnd()));
                                        }
                                    }
                                }
                                catch (Exception ex)
                                {
                                    HandleError(callback, ex);
                                }
                            }, null);
                        }
                        catch (Exception ex)
                        {
                            HandleError(callback, ex);
                        }
                    }, null);
                }
                catch(Exception ex)
                {
                    HandleError(callback, ex);
                }
            }, null);
        }
开发者ID:gsdean,项目名称:Mixpanel.NET,代码行数:45,代码来源:MixpanelAsyncHttp.cs

示例6: GetResponseInternal

        private static WebResponse GetResponseInternal(WebRequest request)
        {            
            // build the envent
			using (var revent = new ManualResetEvent(false))
			{
				// start the async call
				IAsyncResult result = request.BeginGetResponse(new AsyncCallback(CallStreamCallback), revent);

				// wait for event
				revent.WaitOne();

				// get the response
				WebResponse response = request.EndGetResponse(result);

				// go ahead
				return response;
			}
        }
开发者ID:haoasqui,项目名称:ONLYOFFICE-Server,代码行数:18,代码来源:WebRequestStreamHelper.cs

示例7: ProcessWebResponse

 /// <summary>
 /// This sets the event handler with request and response data and 
 /// translates storage exceptions.
 /// </summary>
 /// <param name="req">The request.</param>
 /// <param name="asyncResult">The async result.</param>
 /// <param name="handler">The handler.</param>
 /// <param name="sender">The sender.</param>
 /// <returns>The processed response.</returns>
 internal static WebResponse ProcessWebResponse(WebRequest req, IAsyncResult asyncResult, EventHandler<ResponseReceivedEventArgs> handler, object sender)
 {
     WebResponse response = null;
     Exception exception = null;
     try
     {
         response = req.EndGetResponse(asyncResult);
         return response as HttpWebResponse;
     }
     catch (WebException e)
     {
         response = e.Response;
         exception = Utilities.TranslateWebException(e);
         throw exception;
     }
     finally
     {
         EventHelper.OnResponseReceived(req, response, handler, sender, exception);
     }
 }
开发者ID:nagyist,项目名称:azure-sdk-for-mono,代码行数:29,代码来源:EventHelper.cs

示例8: ProcessResponse

        private void ProcessResponse(WebRequest request, IAsyncResult result)
        {
            try
            {
                var fileService = MvxFileStoreHelper.SafeGetFileStore();
                var tempFilePath = DownloadPath + ".tmp";

                using (var resp = request.EndGetResponse(result))
                {
                    using (var s = resp.GetResponseStream())
                    {
                        fileService.WriteFile(tempFilePath,
                                              fileStream =>
                                                  {
                                                      var buffer = new byte[4 * 1024];
                                                      int count;
                                                      while ((count = s.Read(buffer, 0, buffer.Length)) > 0)
                                                      {
                                                          fileStream.Write(buffer, 0, count);
                                                      }
                                                  });
                    }
                }
                fileService.TryMove(tempFilePath, DownloadPath, true);
            }
            //#if !NETFX_CORE
            //            catch (ThreadAbortException)
            //            {
            //                throw;
            //            }
            //#endif
            catch (Exception exception)
            {
                FireDownloadFailed(exception);
                return;
            }

            FireDownloadComplete();
        }
开发者ID:cyrilcathala,项目名称:MvvmCross-Plugins,代码行数:39,代码来源:MvxFileDownloadRequest.cs

示例9: HandleResponse

        private AsyncCallback HandleResponse(
            WebRequest request, Uri uri,
            IWebAction action, byte[] content,
            IAuthenticator authenticator)
        {
            return ar =>
            {
                try
                {
                    using (var response = (HttpWebResponse)
                        request.EndGetResponse(ar))
                    {
                        using (var stream = response.GetResponseStream())
                            action.Complete(response.StatusCode, stream);
                    }
                }
                catch (WebException ex)
                {
                    if (authenticator != _auth)
                    {
                        // Another thread has already updated the authenticator
                        Request(action, uri, content);
                        return;
                    }

                    // Do we have any alternative?
                    var next = _auth.Next(ex);
                    _auth = next;

                    if (next != null)
                        Request(action, uri, content);
                    else
                        action.Error(ex);
                }
            };
        }
开发者ID:oldlaurel,项目名称:WinPass,代码行数:36,代码来源:WebDavRequest.cs

示例10: DecodeResponse

        BEncodedDictionary DecodeResponse(WebRequest request, IAsyncResult result)
        {
            int bytesRead = 0;
            int totalRead = 0;
            byte[] buffer = new byte[2048];

            WebResponse response = request.EndGetResponse(result);
            using (MemoryStream dataStream = new MemoryStream(response.ContentLength > 0 ? (int)response.ContentLength : 256))
            {

                using (BinaryReader reader = new BinaryReader(response.GetResponseStream()))
                {
                    // If there is a ContentLength, use that to decide how much we read.
                    if (response.ContentLength > 0)
                    {
                        while (totalRead < response.ContentLength)
                        {
                            bytesRead = reader.Read(buffer, 0, buffer.Length);
                            dataStream.Write(buffer, 0, bytesRead);
                            totalRead += bytesRead;
                        }
                    }

                    else    // A compact response doesn't always have a content length, so we
                    {       // just have to keep reading until we think we have everything.
                        while ((bytesRead = reader.Read(buffer, 0, buffer.Length)) > 0)
                            dataStream.Write(buffer, 0, bytesRead);
                    }
                }
                response.Close();
                dataStream.Seek(0, SeekOrigin.Begin);
                return (BEncodedDictionary)BEncodedValue.Decode(dataStream);
            }
        }
开发者ID:senditu,项目名称:simpletorrent,代码行数:34,代码来源:HTTPTracker.cs

示例11: EndGetMailCount

        int EndGetMailCount(WebRequest request)
        {
            if (currentRequestResult == null)
                return -1;

            var requestResult = currentRequestResult;
            currentRequestResult = null;

            var response = request.EndGetResponse(requestResult);
            using (var unreadStream = response.GetResponseStream()) {
                var unreadMailXmlDoc = new XmlDocument();
                unreadMailXmlDoc.Load(unreadStream);

                var unreadMailEntries = unreadMailXmlDoc.GetElementsByTagName("entry");
                return unreadMailEntries.Count;
            }
        }
开发者ID:joeyespo,项目名称:google-apps-client,代码行数:17,代码来源:MainForm.cs

示例12: RaiseWebResponse

        private static void RaiseWebResponse(WebRequest request,
                                             IAsyncResult result,
                                             Action<WebResponseEventArgs>
                                                 callback)
        {
            var args = new WebResponseEventArgs
                           {Uri = request.RequestUri};
            try
            {
                var response = request.EndGetResponse(result);

                SetLastResponse(response);

                using (
                    var reader =
                        new StreamReader(response.GetResponseStream()))
                {
                    args.Response = reader.ReadToEnd();
                }
            }
            catch (WebException ex)
            {
                args.Response = HandleWebException(ex);
            }

            callback.Invoke(args);
        }
开发者ID:remiolivier,项目名称:Openturf,代码行数:27,代码来源:NUrl.cs

示例13: HandleResponse

        private void HandleResponse(WebRequest request)
        {
            WebResponse response = null;
            Stream responseStream = null;
            StreamReader responseStreamReader = null;

            request.BeginGetResponse((responseResult) =>
                {
                    try
                    {
                        response = request.EndGetResponse(responseResult);

                        responseStream = response.GetResponseStream();
                        responseStreamReader = new StreamReader(responseStream);
                        ResponseText = responseStreamReader.ReadToEnd();
                    }
                    finally
                    {
                        try { if (response != null) response.Dispose(); }
                        catch { }
                        try { if (responseStream != null) responseStream.Dispose(); }
                        catch { }
                        try { if (responseStreamReader != null) ((IDisposable)responseStreamReader).Dispose(); }
                        catch { }

                        DisableProgressIndicator();
                    }
                }, null);
        }
开发者ID:cbenard,项目名称:SimpleOAuth.Net,代码行数:29,代码来源:TwitterViewModel.cs

示例14: GetWebResponseShim

        // Note: Adapted from OAuthWebQuery.SetAuthorizationHeader()

        public WebResponse GetWebResponseShim(WebRequest request, IAsyncResult result)
        {
            try
            {
                Response = request.EndGetResponse(result);
                return Response;
            }
            catch (WebException ex)
            {
                Exception = ex;
                return HandleWebException(ex);
            }
        }
开发者ID:apanda,项目名称:TweetSharpForWinMo,代码行数:15,代码来源:OAuthWebQueryClient.cs

示例15: GetWebResponse

		protected virtual WebResponse GetWebResponse (WebRequest request, IAsyncResult result)
		{
			if (abort)
				throw new WebException ("The operation has been aborted.", WebExceptionStatus.RequestCanceled);

			return request.EndGetResponse (result);
		}
开发者ID:jjenki11,项目名称:blaze-chem-rendering,代码行数:7,代码来源:WebClientProtocol.cs


注:本文中的System.Net.WebRequest.EndGetResponse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。