Example #1
0
        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()));
            });
        }
Example #2
0
 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);
     });
 }