/// <summary> /// Ends getting the specified async IEwsHttpWebRequest object from the specified IEwsHttpWebRequest object with exception handling. /// </summary> /// <param name="request">The specified IEwsHttpWebRequest</param> /// <param name="asyncResult">An IAsyncResult that references the asynchronous request.</param> /// <returns>An IEwsHttpWebResponse instance</returns> protected IEwsHttpWebResponse EndGetEwsHttpWebResponse(IEwsHttpWebRequest request, IAsyncResult asyncResult) { try { // Note that this call may throw ArgumentException if the HttpWebRequest instance is not the original one, // and we just let it out return(request.EndGetResponse(asyncResult)); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null) { this.ProcessWebException(ex); } // Wrap exception if the above code block didn't throw throw new ServiceRequestException(string.Format(Strings.ServiceRequestFailed, ex.Message), ex); } catch (IOException e) { // Wrap exception. throw new ServiceRequestException(string.Format(Strings.ServiceRequestFailed, e.Message), e); } }
/// <summary> /// Ends getting the specified async IEwsHttpWebRequest object from the specified IEwsHttpWebRequest object with exception handling. /// </summary> /// <param name="request">The specified IEwsHttpWebRequest</param> /// <param name="asyncResult">An IAsyncResult that references the asynchronous request.</param> /// <returns>An IEwsHttpWebResponse instance</returns> protected IEwsHttpWebResponse EndGetEwsHttpWebResponse(IEwsHttpWebRequest request, IAsyncResult asyncResult) { try { // Note that this call may throw ArgumentException if the HttpWebRequest instance is not the original one, // and we just let it out return request.EndGetResponse(asyncResult); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null) { this.ProcessWebException(ex); } // Wrap exception if the above code block didn't throw throw new ServiceRequestException(string.Format(Strings.ServiceRequestFailed, ex.Message), ex); } catch (IOException e) { // Wrap exception. throw new ServiceRequestException(string.Format(Strings.ServiceRequestFailed, e.Message), e); } }