/// <summary> /// 停止加载 /// </summary> /// <param name="id"></param> /// <param name="Failed">是否失败</param> /// <param name="FMsg">失败提示</param> public void StopLoadImg(int id, bool Failed, string FMsg) { try { //清理请求数据 if (Reqs.ContainsKey(id)) { if (Reqs[id] != null) { Reqs[id].Abort(); Reqs.Remove(id); } } if (Strs != null) { Strs.Flush(); Strs.Dispose(); Strs.Close(); } } catch { } finally { pdtext.Text = FMsg; pdload.BorderBrush = Failed ? new SolidColorBrush(System.Windows.Media.Color.FromArgb(238, 255, 55, 90)) : new SolidColorBrush(System.Windows.Media.Color.FromArgb(238, 255, 210, 0)); pdload.Background = Failed ? new SolidColorBrush(System.Windows.Media.Color.FromArgb(238, 255, 197, 197)) : new SolidColorBrush(System.Windows.Media.Color.FromArgb(238, 255, 237, 192)); } }
// признак трассирования требования public bool is_Requirement_traced(string requirement_id) { if (Reqs != null) { return(Reqs.Contains(requirement_id)); } return(false); }
/// <summary> /// 下载图片 /// </summary> /// <param name="reTry">重试:1~9</param> public void DownloadImg(string needReferer, int reTry = 0) { try { #region 创建请求数据 reTry = (reTry < 0 ? 0 : reTry) > 9 ? 9 : reTry; shc.Add("Accept-Ranges", "bytes"); shc.Referer = needReferer; shc.ContentType = SessionHeadersValue.ContentTypeAuto; shc.AcceptEncoding = SessionHeadersValue.AcceptEncodingGzip; shc.AutomaticDecompression = DecompressionMethods.GZip; string[] requrls = { img.PreviewUrl, img.JpegUrl, img.OriginalUrl.Replace(".#ext", ".jpg"), img.OriginalUrl.Replace(".#ext", ".png"), img.OriginalUrl.Replace(".#ext", ".gif"), WebUrlEncode(img.PreviewUrl), WebUrlEncode(img.JpegUrl), WebUrlEncode(img.OriginalUrl.Replace(".#ext",".jpg")), WebUrlEncode(img.OriginalUrl.Replace(".#ext",".png")), WebUrlEncode(img.OriginalUrl.Replace(".#ext",".gif")) }; string requrl = requrls[reTry]; HttpWebRequest req = Sweb.CreateWebRequest(requrl, MainWindow.WebProxy, shc); //将请求加入请求组 Reqs.Add(img.Id, req); #endregion //异步下载开始 req.BeginGetResponse(new AsyncCallback(RespCallback), new KeyValuePair <int, HttpWebRequest>(img.Id, req)); } catch (Exception ex) { Program.Log(ex, "Download sample failed"); StopLoadImg(img.Id, true, "创建下载失败"); } }
public void AddReq(SkillType skill, Req req) { //Requirements.Add(skill, req); Reqs.Add(skill, req); }
public @override(module.Version target = default, slice <module.Version> list = default, Reqs Reqs = default) { this.target = target; this.list = list; this.Reqs = Reqs; }