中止请求 wp7

Posted

技术标签:

【中文标题】中止请求 wp7【英文标题】:Abort request wp7 【发布时间】:2011-08-15 23:05:53 【问题描述】:

如果我中止请求,我有一个 WebException。如何检查请求是否中止?

// if (asynchronousResult.AsyncState !="Aborted" ) 
            HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);//WebException if aborted
            Stream streamResponse = response.GetResponseStream();
            StreamReader streamRead = new StreamReader(streamResponse);
            do_after(streamRead.ReadToEnd());
            streamResponse.Close();
            streamRead.Close();
            response.Close();
    //    

【问题讨论】:

【参考方案1】:
try

    HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);//WebException if aborted

catch(WebException e)

  if(e.Status == WebExceptionStatus.RequestCanceled)
    
      //WORK
    

来自文档:

Abort 方法取消对资源的请求。取消请求后,调用BeginGetResponseEndGetResponseBeginGetRequestStreamEndGetRequestStream 方法会导致WebExceptionStatus 属性设置为RequestCanceled

来源:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.abort(v=VS.95)

【讨论】:

【参考方案2】:

您应该将 EndGetResponse 包装在 try-catch 块中。如果 Web 请求被中止,您将面临意外的流程,因此异常是处理此问题的最佳方式。

【讨论】:

以上是关于中止请求 wp7的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 中止请求

中止 DoJo XHR 请求

中止请求和超时 跨域的HTTP请求 认证方式 JSONP

中止/取消/放弃angular js中的http请求并重试

如何取消/中止 jQuery AJAX 请求?

请求被中止:请求被取消。没有解决方案有效