/// <summary> /// /// </summary> void _OnDownloadPartialResponseCallback(IAsyncResult ar) { try { UnregisterTimeOut(); lock (lock_obj_) { HttpWebRequest req = ar.AsyncState as HttpWebRequest; if (req == null) { return; } HttpWebResponse response = req.BetterEndGetResponse(ar) as HttpWebResponse; if (response.StatusCode == HttpStatusCode.PartialContent) { Length = content_.LastTimeCompletedLength + response.ContentLength; content_.WebResponse = response; _BeginRead(new AsyncCallback(_OnReadCallback)); } else if (response.StatusCode == HttpStatusCode.NotModified) { OnFailed(emErrorCode.Abort); return; } else { response.Close(); OnFailed(emErrorCode.NoResponse); return; } } } catch (System.Exception e) { Debug.LogWarning("HttpAsyDownload - \"" + LocalName + "\" download failed!" + "\nMessage:" + e.Message); OnFailed(emErrorCode.DownloadError); } }
private void OnResponseCallback(IAsyncResult ar) { try { UnRegisterTimeOut(); lock (lock_obj){ HttpWebRequest httpwebrequest = ar.AsyncState as HttpWebRequest; HttpWebResponse httpwebresponse = httpwebrequest.BetterEndGetResponse(ar) as HttpWebResponse; if (httpwebresponse.StatusCode == HttpStatusCode.OK) { m_content.WebResponse = httpwebresponse; Length = httpwebresponse.ContentLength; BeginRead(OnReadCallback); // public delegate void AsyncCallback(IAsyncResult ar); } else if (httpwebresponse.StatusCode == HttpStatusCode.NotModified) { } } } catch { } }