Пример #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="searches"></param>
 /// <param name="context"></param>
 /// <param name="result"></param>
 public void LoadUPRsFromBuildingsBlockingCollection(List <Uri> searches, JSONContext context, BlockingCollection <SearchAutoCompleteResult> result = null)
 {
     if (result == null)
     {
         result = DomLoader.BlockingCollectionUPRs;
     }
     //context.Configuration.AutoDetectChangesEnabled = false;
     //Загрузка с сайта
     using (CancellationTokenSource ts = new CancellationTokenSource())
     {
         Task t1 = Task.Run(() => DomLoader.UPRsFromHouses(searches, Encoding.UTF8, result));
         //запись найденных
         Task t2 = Task.Run(() =>
         {
             SearchAutoCompleteResult upr = new SearchAutoCompleteResult();
             foreach (var n in result.GetConsumingEnumerable())
             {
                 try
                 {
                     context.UPRs.AddOrUpdate(up => up.Url, n);
                     context.SaveChanges();
                     Logger.Logger.Info(string.Join(" ", "ВНЕСЕНО", n.Value, result.Count));
                 }
                 catch (Exception) { }
             }
             context.SaveChanges();
             ts.Cancel();
         });
         Task.WaitAll(new Task[] { t1, t2 });
     }
 }
Пример #2
0
        public UPRsite LoadUpr(SearchAutoCompleteResult upr, Encoding encoding)
        {
            Uri    _upruri = new Uri(BaseUri, upr.Url);
            string _html   = DownloadString(_upruri, encoding, null);
            Guid   _id     = new Guid(_upruri.Segments[_upruri.Segments.Count() - 1]);

            Logger.Logger.Info(_upruri.ToString());
            return(new UPRsite(_id, upr.Value, _upruri.ToString(), _html));
        }
Пример #3
0
 protected void DownloadUPR(SearchAutoCompleteResult upr, Encoding encoding)
 {
     QueueUPRsites.Enqueue(LoadUpr(upr, encoding));
 }
Пример #4
0
 //delegate void loadURIList();
 protected async Task LoadURIListTask(SearchAutoCompleteResult upr, Encoding encoding)
 {
     await LoadUPR_Async(upr, encoding);
 }
Пример #5
0
 public async Task LoadUPR_Async(SearchAutoCompleteResult upr, Encoding encoding)
 {
     await Task.Run(() => { });
 }