2

リクエストを中止するとWebExceptionが発生します。リクエストが中止されたかどうかを確認する方法は?abort request wp7

// 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(); 
    // } 

答えて

4
try 
{ 
    HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);//WebException if aborted 
} 
catch(WebException e) 
{ 
    if(e.Status == WebExceptionStatus.RequestCanceled) 
    { 
     //WORK 
    } 
} 

Abort方法は、リソースへの要求をキャンセルします。要求が取り消された後、BeginGetResponseEndGetResponseBeginGetRequestStream、またはEndGetRequestStreamメソッドを呼び出すと、StatusプロパティがRequestCanceledに設定されたWebExceptionが返されます。

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

1

try-catchブロックでEndGetResponseをラップする必要があります。 Web要求が中止された場合、予期しないフローに直面しているので、これを処理するための例外が例外です。ドキュメントから