private ISearchResult SearchUpdatesUtil(CancellationToken cancellationToken) { try { IUpdateSearcher uSearcher = this._uSession.CreateUpdateSearcher(); SearchCompletedCallback searchCompletedCallback = new SearchCompletedCallback(); string searchQuery = this._serviceSettings.WUQuery; ISearchJob searchJob = uSearcher.BeginSearch(searchQuery, searchCompletedCallback, null); TimeSpan operationTimeOut = TimeSpan.FromMinutes(this._serviceSettings.WUOperationTimeOutInMinutes); if ( !this._helper.WaitOnTask(searchCompletedCallback.Task, (int)operationTimeOut.TotalMilliseconds, cancellationToken)) { _eventSource.Message("searchJob : Requested Abort"); searchJob.RequestAbort(); } ISearchResult uResult = uSearcher.EndSearch(searchJob); return(uResult); } catch (Exception e) { _eventSource.InfoMessage("Exception while searching for Windows-Updates: {0}", e); return(null); } }
void AbortChecking() { DebugLog("Requesting abort..."); searchJob_?.RequestAbort(); }
private void WaitForSearchJobComplete(ISearchJob job) { if (job == null) return; do { if (DialogsManager.CancelRequested) job.RequestAbort(); Thread.Sleep(5); Application.Current.DoEvents(); } while (!job.IsCompleted); }
public override void RequestAbort() => _job.RequestAbort();