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


C# HttpWebRequest.Abort方法代码示例

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


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

示例1: ExecuteWebRequest

        // Simple WebRequest
        public string ExecuteWebRequest(HttpWebRequest webRequest)
        {
            try
            {
                var webRequestResult = GetWebRequestResultFromHttpClient(webRequest);

                if (!webRequestResult.IsSuccessStatusCode)
                {
                    throw _exceptionHandler.TryLogFailedWebRequestResult(webRequestResult);
                }

                var stream = webRequestResult.ResultStream;

                if (stream != null)
                {
                    // Getting the result
                    var responseReader = new StreamReader(stream);
                    return responseReader.ReadLine();
                }

                // Closing the connection
                webRequest.Abort();
            }
            catch (AggregateException aex)
            {
                var webException = aex.InnerException as WebException;
                var httpRequestMessageException = aex.InnerException as HttpRequestException;

                if (httpRequestMessageException != null)
                {
                    webException = httpRequestMessageException.InnerException as WebException;
                }

                if (webException != null)
                {
                    if (webRequest != null)
                    {
                        webRequest.Abort();

                        throw _exceptionHandler.TryLogWebException(webException, webRequest.RequestUri.AbsoluteUri);
                    }

                    throw webException;
                }

                throw;
            }
            catch (TimeoutException)
            {
                var twitterTimeoutException = _twitterTimeoutExceptionFactory.Create(new ConstructorNamedParameter("url", webRequest.RequestUri.AbsoluteUri));
                if (_exceptionHandler.LogExceptions)
                {
                    _exceptionHandler.AddTwitterException(twitterTimeoutException);
                }

                throw (Exception)twitterTimeoutException;
            }

            return null;
        }
开发者ID:Murtaza-libs,项目名称:tweetinvi,代码行数:61,代码来源:WebRequestExecutor.cs

示例2: CheckUpdate

        public static void CheckUpdate()
        {
            kIRCVersionChecker.Init();
            Updater = (HttpWebRequest)HttpWebRequest.Create(update_checkerurl);
            Updater_Response = (HttpWebResponse)Updater.GetResponse();

            if (Updater_Response.StatusCode == HttpStatusCode.OK)
            {
                Rocket.Unturned.Logging.Logger.Log("kIRC: Contacting updater...");
                Stream reads = Updater_Response.GetResponseStream();
                byte[] buff = new byte[10];
                reads.Read(buff, 0, 10);
                string ver = Encoding.UTF8.GetString(buff);
                ver = ver.ToLower().Trim(new[] { ' ', '\r', '\n', '\t' }).TrimEnd(new[] { '\0' });

                if (ver == VERSION.ToLower().Trim())
                {
                    Rocket.Unturned.Logging.Logger.Log("kIRC: This plugin is using the latest version!");
                }
                else
                {
                    Rocket.Unturned.Logging.Logger.LogWarning("kIRC Warning: Plugin version mismatch!");
                    Rocket.Unturned.Logging.Logger.LogWarning("Current version: "+VERSION+", Latest version on repository is " + ver + ".");
                }
            }
            else
            {
                Rocket.Unturned.Logging.Logger.LogError("kIRC Error: Failed to contact updater.");
            }
            Updater.Abort();
            Updater = null;
            Updater_Response = null;
            lastchecked = DateTime.Now;
        }
开发者ID:lavery98,项目名称:Rocket_kIRC,代码行数:34,代码来源:kIRCVersionChecker.cs

示例3: HeartBeatHandler

        void HeartBeatHandler() {
            while( true ) {
                try {
                    request = (HttpWebRequest)WebRequest.Create( URL );
                    request.Method = "POST";
                    request.Timeout = 15000; // 15s timeout
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.CachePolicy = new System.Net.Cache.RequestCachePolicy( System.Net.Cache.RequestCacheLevel.NoCacheNoStore );
                    byte[] formData = Encoding.ASCII.GetBytes( staticData + "&users=" + world.GetPlayerCount() );
                    request.ContentLength = formData.Length;

                    using( Stream requestStream = request.GetRequestStream() ) {
                        requestStream.Write( formData, 0, formData.Length );
                        requestStream.Flush();
                    }

                    if( !hasReportedServerURL ) {
                        using( WebResponse response = request.GetResponse() ) {
                            using( StreamReader responseReader = new StreamReader( response.GetResponseStream() ) ) {
                                world.config.ServerURL = responseReader.ReadToEnd().Trim();
                            }
                        }
                        request.Abort();
                        hash = world.config.ServerURL.Substring( world.config.ServerURL.LastIndexOf( '=' ) + 1 );
                        world.FireURLChange( world.config.ServerURL );
                        hasReportedServerURL = true;
                    }

                } catch( Exception ex ) {
                    world.log.Log( "HeartBeat: {0}", LogType.Error, ex.Message );
                }

                try {
                    request = (HttpWebRequest)WebRequest.Create( fListURL );
                    request.Method = "POST";
                    request.Timeout = 15000; // 15s timeout
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.CachePolicy = new System.Net.Cache.RequestCachePolicy( System.Net.Cache.RequestCacheLevel.NoCacheNoStore );
                    string requestString = staticData +
                                            "&users=" + world.GetPlayerCount() +
                                            "&hash=" + hash +
                                            "&motd=" + Server.UrlEncode( world.config.GetString( "MOTD" ) ) +
                                            "&server=fcraft" +
                                            "&players=" + world.GetPlayerListString();
                    byte[] formData = Encoding.ASCII.GetBytes( requestString );
                    request.ContentLength = formData.Length;

                    using( Stream requestStream = request.GetRequestStream() ) {
                        requestStream.Write( formData, 0, formData.Length );
                        requestStream.Flush();
                    }
                    request.Abort();
                } catch( Exception ex ) {
                    world.log.Log( "HeartBeat: Error reporting to fList: {0}", LogType.Error, ex.Message );
                }

                Thread.Sleep( Config.HeartBeatDelay );
            }
        }
开发者ID:fragmer,项目名称:fCraft,代码行数:59,代码来源:HeartBeat.cs

示例4: ReadResponseStream

        /// <summary>
        /// Reads the information received from the Twitter real-time data stream.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        private void ReadResponseStream(HttpWebRequest request, HttpWebResponse response)
        {
            byte[] buffer = new byte[65536];
            using (Stream stream = response.GetResponseStream())
            {
                while (this.InternalConnectionStatus == ConnectionStatus.Connected)
                {
                    int read = stream.Read(buffer, 0, buffer.Length);

                    this._dateReceivedInLastSecond += read;

                    UTF8Encoding encoding = new UTF8Encoding();
                    string data = encoding.GetString(buffer, 0, read);
                    ParseResponseChunk(data);
                }

                // need to call request.Abort or the the thread will block at the end of
                // the using block.
                request.Abort();
            }
        }
开发者ID:eddieringo,项目名称:kwwika-tweet-streamer,代码行数:26,代码来源:Connection.cs

示例5: Abort_BeginGetResponseThenAbort_EndGetResponseThrowsWebException

        public void Abort_BeginGetResponseThenAbort_EndGetResponseThrowsWebException(Uri remoteServer)
        {
            _savedHttpWebRequest = HttpWebRequest.CreateHttp(remoteServer);

            _savedHttpWebRequest.BeginGetResponse(new AsyncCallback(ResponseCallback), null);

            _savedHttpWebRequest.Abort();
            WebException wex = _savedResponseException as WebException;
            Assert.Equal(WebExceptionStatus.RequestCanceled, wex.Status);
        }
开发者ID:jmhardison,项目名称:corefx,代码行数:10,代码来源:HttpWebRequestTest.cs

示例6: AbortRequest

 public static void AbortRequest(HttpWebRequest request)
 {
     request.Abort();
 }
开发者ID:mind0n,项目名称:hive,代码行数:4,代码来源:HttpChannelHelpers.cs

示例7: CleanupOnError

        void CleanupOnError(HttpWebRequest request, HttpWebResponse response)
        {
            if (response != null)
            {
                response.Close();
            }

            if (request != null)
            {
                request.Abort();
            }

            this.Cleanup();
            this.RemoveIdentityMapping(true);
        }
开发者ID:iskiselev,项目名称:JSIL.NetFramework,代码行数:15,代码来源:ClientWebSocketTransportDuplexSessionChannel.cs

示例8: writeRequestBodyFromStream

 private void writeRequestBodyFromStream(HttpWebRequest con, Stream data, long streamLength)
 {
     // post data
     Stream s = null;
     try
     {
         con.ContentLength = streamLength;
         con.SendChunked = false;
         byte[] buffer = new byte[64 * 1024];
         s = con.GetRequestStream();
         for (long i = 0; i < streamLength; )
         {
             if (i + buffer.Length > streamLength)
             {
                 int bytesToRead = (int)(streamLength - i);
                 int count = data.Read(buffer, 0, bytesToRead);
                 if (count == 0)
                 {
                     con.Abort();
                     throw new EsuException("Premature EOF reading stream at offset " + i);
                 }
                 s.Write(buffer, 0, count);
                 i += count;
             }
             else
             {
                 int count = data.Read(buffer, 0, buffer.Length);
                 if (count == 0)
                 {
                     con.Abort();
                     throw new EsuException("Premature EOF reading stream at offset " + i);
                 }
                 s.Write(buffer, 0, count);
                 i += count;
             }
         }
         s.Close();
     }
     catch (IOException e)
     {
         s.Close();
         throw new EsuException("Error posting data", e);
     }
 }
开发者ID:EMCECS,项目名称:atmos-dotnet,代码行数:44,代码来源:EsuRestApi.cs

示例9: GetResponse

        /// <summary>
        /// HTTP/HTTPS的GET方法获取HttpWebResponse
        /// </summary>
        /// <param name="Url">要GET数据的网址</param>
        /// <param name="headers">HTTP协议中消息报头所带的headers信息</param>
        /// <returns>HttpWebResponse</returns>
        protected void GetResponse(String Url, ref HttpWebResponse Response, ref HttpWebRequest rqst, String[] headers, int level = 0)
        {
            //如果使用代理https变为http
            //if (Url.ToLower().Contains("https://") && proxy.Address != null)
            //    Url = "http" + Url.Substring(5);
            Uri uri = new Uri(Url);
            //设置HTTPS方式
            if (Url.ToLower().Contains("https://"))
                ServicePointManager.ServerCertificateValidationCallback = CheckValidationResult;
            //构造HTTP头

            rqst = (HttpWebRequest)WebRequest.Create(uri);
            rqst.KeepAlive = true;
            rqst.AllowAutoRedirect = false;
            rqst.ServicePoint.Expect100Continue = false;
            rqst.MaximumAutomaticRedirections = 3;
            rqst.UserAgent = UserAgent;
            if (reffer != null)
            {
                try
                {
                    rqst.Referer = reffer.AbsoluteUri;
                }
                catch { }
            }
            foreach (String s in headers)
            {
                rqst.Headers.Add(s);
            }
            rqst.Timeout = timeOut;
            rqst.CookieContainer = Cookies;
            if (proxy.Address != null)
            {
                rqst.ProtocolVersion = HttpVersion.Version10;
                //启用代理
                rqst.UseDefaultCredentials = true;
                rqst.Proxy = proxy;
            }
            //记录当前访问页以便下次访问设置Reffer
            reffer = uri;
            //访问URL
            Response = (HttpWebResponse)rqst.GetResponse();
            //更新COOKIE
            foreach (Cookie ck in Response.Cookies)
            {
                Cookies.Add(ck);
            }
            //防止无限循环跳转
            if (level < 10)
            {
                //自动重定向网页

                if (Response.Headers["Location"] != null)
                {
                    Response.Close();
                    rqst.Abort();
                    String location = Response.Headers["Location"];
                    if (!location.Contains("://"))
                        location = uri.Scheme + "://" + uri.Authority + location;
                    GetResponse(location, ref Response, ref rqst, ++level);
                }
                else if (Response.ResponseUri != uri)
                {
                    Response.Close();
                    rqst.Abort();
                    GetResponse(Response.ResponseUri.AbsoluteUri, ref Response, ref rqst, ++level);
                }
            }
        }
开发者ID:SaintLoong,项目名称:Framework,代码行数:75,代码来源:WebAccessBase.cs

示例10: GetResponseWithTimeout

        private HttpWebResponse GetResponseWithTimeout(HttpWebRequest req)
        {
            AutoResetEvent ev=new AutoResetEvent(false);
            IAsyncResult result =req.BeginGetResponse(GetResponseCallback, ev);

            if (!ev.WaitOne(ResponseTimeout))
            {
                req.Abort();
                return null;
            }
            /*
            if (!HttpClientParams.WaitOneEmpty)
            {
                if (!ev.WaitOne(ResponseTimeout))
                {
                    req.Abort();
                    return null;
                }
            }
            else
                if (!ev.WaitOne())
                {
                    req.Abort();
                    return null;
                }
             */

            /*if (!m_Ajax) */Referer = req.RequestUri.ToString();
            return (HttpWebResponse)req.EndGetResponse(result);
        }
开发者ID:sasha237,项目名称:NorthCitadel,代码行数:30,代码来源:WebClientEx.cs

示例11: GetResponseWithTimeout

        private HttpWebResponse GetResponseWithTimeout(HttpWebRequest req)
        {
            bool m_Ajax = Ajax; Ajax = false;
            AutoResetEvent ev=new AutoResetEvent(false);
            IAsyncResult Japan =req.BeginGetResponse(GetResponseCallback, ev);

            if(!ev.WaitOne(Timeout))
            {
                req.Abort();
                return null;
            }
            if (!m_Ajax) Referer = req.RequestUri.ToString();
            return (HttpWebResponse)req.EndGetResponse(Japan);
        }
开发者ID:sasha237,项目名称:MangaAnalyser,代码行数:14,代码来源:WebClientEx.cs

示例12: get

        private static void get(HttpWebRequest request, YebobHandler handler, ErrorHandler onError)
        {
            request.AllowReadStreamBuffering = true;
            var ob = Observable.FromAsyncPattern<WebResponse>(request.BeginGetResponse, request.EndGetResponse);

            if(onError == null){
                onError = new ErrorHandler(defaultErrorHandler);
            }

            Log.d("Yebob send " + DateTime.Now);
            Observable.Timeout(ob.Invoke(), DateTimeOffset.Now.AddSeconds(10))
                .ObserveOnDispatcher() //include if UI accessed from subscribe
                .Subscribe(response =>
                {
                    Log.d("Yebob recv " + DateTime.Now);
                    using (var responseStream = response.GetResponseStream())
                    {
                        using (var sr = new StreamReader(responseStream, Encoding.UTF8))
                        {
                            String result = sr.ReadToEnd();
                            handleResponse(result, handler, onError);
                        }
                    }
                }, ex =>
                {
                    Log.e("Yebob error " + ex.Message);
                    onError(ERROR.HTTP_HAS_EXCEPTION, "Yebob error " + ex.Message);
                    request.Abort();
                });
        }
开发者ID:lite,项目名称:yebob_wp,代码行数:30,代码来源:Api.cs

示例13: DownloadWebsiteAsStringAsync

        public static async Task<string> DownloadWebsiteAsStringAsync(HttpWebRequest req)
        {
            string response = string.Empty;

            using (HttpWebResponse resp = (HttpWebResponse)(await req.GetResponseAsyncExt().ConfigureAwait(false)))
            {
                if (resp == null)
                {
                    if (req != null)
                    {
                        req.Abort();
                    }
                }
                else
                {
                    if (resp.StatusCode == HttpStatusCode.OK)
                    {
                        using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
                        {
                            try
                            {
                                response = await sr.ReadToEndAsync().ConfigureAwait(false);
                            }
                            catch (IOException)
                            {
                                response = string.Empty;
                            }
                        }
                    }
                    else
                    {
                        string errorMessage = string.Format("Getting website {0} failed with code: {1}, desc: {2}", req.RequestUri.AbsoluteUri, resp.StatusCode.ToString(), resp.StatusDescription);

                        await Utils.LogMessageAsync(errorMessage).ConfigureAwait(false);
                    }
                }
            }

            return response;
        }
开发者ID:Kingloo,项目名称:Dldr,代码行数:40,代码来源:Utils.cs

示例14: DownloadWebsiteAsString

        public static string DownloadWebsiteAsString(HttpWebRequest req)
        {
            string response = string.Empty;

            using (HttpWebResponse resp = (HttpWebResponse)req.GetResponseExt())
            {
                if (resp == null)
                {
                    if (req != null)
                    {
                        req.Abort();
                    }
                }
                else
                {
                    if (resp.StatusCode == HttpStatusCode.OK)
                    {
                        using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
                        {
                            try
                            {
                                response = sr.ReadToEnd();
                            }
                            catch (IOException)
                            {
                                response = string.Empty;
                            }
                        }
                    }
                    else
                    {
                        string errorMessage = string.Format("Getting website {0} failed with code {1}", req.RequestUri.AbsoluteUri, resp.StatusCode.ToString());

                        Utils.LogMessage(errorMessage);
                    }
                }
            }

            return response;
        }
开发者ID:Kingloo,项目名称:Dldr,代码行数:40,代码来源:Utils.cs

示例15: Abort_CreateRequestThenAbort_Success

        public void Abort_CreateRequestThenAbort_Success(Uri remoteServer)
        {
            _savedHttpWebRequest = HttpWebRequest.CreateHttp(remoteServer);

            _savedHttpWebRequest.Abort();
        }
开发者ID:jmhardison,项目名称:corefx,代码行数:6,代码来源:HttpWebRequestTest.cs


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