private async void btnDoSearch_Click(object sender, RoutedEventArgs e) { UpdateStatus("Searching...."); this.tbSearchResult.Text = ""; string searchText = this.tbSearchText.Text; var system = ActorSystem.Create("MySystem"); var disActor = system.ActorOf<FileDispatcher>(); PCDir dir = new PCDir(_path, searchText); //disActor.Tell(dir); await Task.Run(async () => { //Task.Delay(10000).Wait(); var t1 = disActor.Ask<string[]>(dir, TimeSpan.FromSeconds(60)); await Task.WhenAll(t1); //return new Result(t1.Result); var result = t1.Result; foreach (var item in result) { UpdateResult(item); } UpdateStatus("Search"); MessageBox.Show(string.Format("Search finished. {0} files found.", result.Count())); }); }
public void GoSearch(PCDir dir) { dir.FileNames.ToList().ForEach(s => { var actor = Context.ActorOf<FileScanner>(); SeatchObj so = new SeatchObj(); so.Path = s; so.SearchStr = dir.SearchText; actor.Tell(so, Self); }); }